LỘ TRÌNH HỌC PHP (ROADMAP)

Với nhiều bạn mới hoặc đang tìm hiểu về PHP, mình xin chia sẻ một vài kinh nghiệm về cách học để làm web dev, chuyên nghiệp. Tôi viết bài này sau khi đọc 1 topic về kinh nghiệm bắt đầu với PHP và thấy cần đi sâu hơn để các bạn newbie thấy rõ phương hướng.

1. Kỹ năng lập trình Kỹ năng lập trình hướng đối tượng (OOP) là ưu tiên số 1. Tới version 4.x, PHP vẫn không đánh giá cao lập trình OOP nhưng PHP5 đã hỗ trợ OOP rất tốt để dành được sự tin yêu của giới lập trình.

Học OOP nên có bài bản. Lý thuyết OOP không nhiều nhưng cũng là rất nhiều và sâu xa. Khi học tới một mức độ nhất định thì có thể tiếp cận các design pattern là các mô hình thiết kế đối tượng chuẩn mực để giái quyết các vấn đề thiết kế ứng dụng khó. Nắm vững OOP sẽ là cơ sở để tiếp cận mô hình xây dựng ứng dụng 3 tier. Hầu hết các ứng dụng PHP đều sử dụng mô hình 3 tier nổi tiếng là MVC. Ngay cả APS.NET 2.0 cũng có một framework cho người yêu MVC mới ra đời vào khoảng đầu 12/06.

2. Kiến thức về HTML và CSS HTML không phải là ngôn ngữ gì quá phức tạp mà thực tế là chỉ có 1 quy luật duy nhất cần nắm bắt là. Tuy nhiên, HTML vẫn là nền tảng quan trọng của web, bạn nên dành từ 3 – 10 ngày để thật tập trung giải quyết dứt điểm nó. CSS phức tạp hơn với một số cái niệm về selector và người làm designer thì cần nắm vững về CSS nhiều hơn coder. Tuy nhiên, nắm vững CSS là thế mạnh để giải quyết các bài toán về giao diện đôi khi tưởng như khó nhưng lại rất dễ dàng. Đơn cử là bài toán Menu đa cấp hiển thị horizontal hay vertical.

Với CSS, chỉ cần thêm một chút kiến thức JS là bạn có thể giải quyết gọn gạng một menu động với các menu item lấy ra từ CSDL. Web 2.0 cũng là chuẩn mà CSS tham gia và đóng vai trò khá quan trọng. HTML, CSS nên học một cách bài bản để tuân thủ nghiêm ngặt chuẩn XHTML và CSS của W3C. Rất nhiều bạn coder không chú ý điểm này nhưng thực tế công việc nếu phải làm việc cho cty nước ngoài hay khách hàng US, EU thì vấn đề theo đúng chuẩn W3C là rất quan trọng.

3. Mô hình Client/Server Ứng dụng web là ứng dụng bản thân nó đã tuân thủ mô hình Client/Server và bạn cần nắm vững ngôn ngữ lập trình tại client side và server side. Cơ chế giao tiếp giữa Client và Server của ứng dụng web dựa trên giao thức HTTP và sử dụng Request/Response cũng cần phải được nắm rõ. HTTP protocol không phải là giao thức phức tạp nhưng cũng nhiều chi tiết vặt và thông số.

Bạn sẽ có nhiều cơ hội tiếp cận HTTP khi đi sâu vào PHP nên ngay từ đầu, không cần quá đặt nặng vào tìm hiểu HTTP. Đối với Request/Response và các thành phần cơ bản của một ứng dụng web như Server, Session, các biến môi trường, Cookie,… thì bạn lại phải nắm rất vững. Điều này quan trọng vì nó là nền tảng của tất cả các ứng dụng web dù viết bằng ngôn ngữ gì gì đi nữa. Một khi đã nắm vững, chuyển đổi giữa các ngôn ngữ sẽ không gặp khó khăn gì.

Thực hành những khái niệm về Client/Server, bạn cần tiếp cận PHP và JavaScript song song. Ở mức độ beginner, sẽ gặp vô số lỗi PHP và JavaScript rất dễ nảng lòng vì PHP cũng như JavaScript không thực sự cung cấp các tool lập trình sành điệu như Visual Studio của M$ để các bạn debug. Rất may là tại thời điểm này, PHP coder đã có thêm tool IDE như phpEdit (NuSphere) hay Eclipse, Zend Studio Neon. Bạn nên chọn dùng Eclipse hoặc Zend vì NuSphere là bản thương mại. Zend hiện đang có bản Neon Beta miễn phí (những IDE này đều có tool debug dùng DBG debuger của NuSphere có thể không dễ cài và cấu hình). Trên trình duyệt, bạn chọn FireFox thì sẽ có plug-in Web Developer tools để view code, CSS và debug JavaScript.

4. PHP, MySQL Chỉ cần vài kiến thức JS cơ bản để bắt đầu với web, nếu đi sâu và JS trứơc bạn sẽ nản. Bạn nên tiếp tục với PHP và MySQL. Nếu chưa có kiến thức Database, bạn nên dành khoảng 7 ngày học về SQL. Thực hành trên MySQL, bạn có thể dùng MySQL console nhưng chắc sẽ ngán ngẩm, thay vào đó, bạn có thể download SqlYog hoặc Navicat hoặc dùng trực tiếp PhpMyAdmin (sau này sẽ dùng nhiều khi bạn quản lý các host đi thuê) để thực hành, tương tự Query Analyzer của SQL Server. PHP phiên bản 5.x đã viết lại thư viện kết nối MySQL, bạn nên nắm sơ qua về nó qua 1 cuốn ebook dạy về PHP-MySQL (rất nhiều, đừng câu nệ, học cuốn nào cũng vậy cả).

Thời gian rèn luyện PHP và MySQL tùy vào từng người. Vì ở mức độ này, bạn cũng đã tương đối hoàn chỉnh 1 ứng dụng Web nên bạn sẽ tập trung vào việc xử lý dữ liệu nhập xuất và tính toán, hiển thị. Để nâng cao kỹ năng coding, đừng tìm cách sử dụng các thư viện vào lúc này mà hãy cố gắng viết code PHP phát sinh ra HTML code thật tốt. Một vài project làm thật hoàn thiện các chức năng trên giao diện sẽ giúp bạn nâng cao skill về PHP, HTML và JS. Đừng quan trọng các vấn đề gửi mail, parsing RSS, upload file, phát sinh PDF,… bạn có cả đời coder để tìm hiểu những thứ lặt vặt này.

5. Begin professional Nếu bạn theo lời tôi dụ dỗ tới bước này thì bạn đã khá là đau khổ với PHP và MySQL. Bước 5 này chia sẻ cho bạn nhiều súng đạn để vào đời giang hồ đi … code dạo kiếm cơm Cheesy. Đây là thời điểm bạn sẽ quay về rèn luyện thêm skill về OOP và MVC.

Đầu tiên là cải thiện ngay thói quen xử lý dữ liệu với MySQL thông thường bằng PHP. Có nhiều khả năng code của bạn sẽ bị tấn công SQL Inject nên cách tốt hơn là tìm một thư viện “xịn” cho việc này. Hai thư viện khá dễ cài và học là PDO của PEAR và ADODB. Đạt tới mức độ cao nhất về xử lý DB hiện nay kể đến viện hiểu rõ và sử dụng tốt ORM (Object – Relational Mapping). Vì bản chất thiết kế ứng dụng là các class mà object của nó cần được lưu trữ xuống Database để tái sử dụng lại, người lập trình tiếp cận theo hướng ngược lại là đọc DB lên và chuyển nó thành các object. ORM là khái niệm này và có nhiều tool làm chuyện này cho bạn trong đó có cả ADODB và PDO. ORM là khái niệm rất hữu ích bạn cần nắm vững do nó liên quan tới thiết kế ứng dụng, các entity class và business object. ORM không chỉ dùng trong PHP/MySQL mà dùng trong hầu hết các ngôn ngữ khác. (Tới đây, nếu bạn gặp khó khăn về xây dựng một project tương đối các chức năng. Các vấn đề như gửi nhận dữ liệu giữa các trang, quản lý user, xử lý form data,… thì hãy tìm xuống phần về MVC ở dưới nhé.)

Khi bạn có thể thoải mái với xử lý dữ liệu, bước tiếp theo là tìm đồ chơi hỗ trợ việc hiển thị dữ liệu đó cho user. PHP coder dùng các template engine khác nhau để hiển thị dữ liệu. 2 template khá hay là Smarty và Flexi. Ngoài ra, một số template còn cho bạn tạo control như ASP.NET nhưng sẽ bàn tới sau nhé. Tiện thể làm việc với template, bước này bạn cũng cần một đồ chơi ngon lành về JS.

Trước đây web developer rất sợ JS nhưng kể từ khi có AJAX thì JS cũng sống lên mạnh mẽ và nhiều library nổi tiếng ra đời, nhiều đến nỗi ngập ngụa mà sự lựa chọn hoàn toàn do bạn. Sau đây là một số ưu tiên mà bạn nên chọn: YUI của Yahoo, jQuery, jPrototype và Scriptaculous. Bạn cũng sẽ quan tâm tới việc nâng cao kiến thức JS của mình nếu muốn đào sâu vào những thư viện này. Nếu vậy, hãy tìm hiểu và học JSON. Một lần nữa, bạn cần luyện công về OOP.

6. Rapid application development, let find an MVC framework Phần này có 2 bước nhỏ độc lập nhau mà những người thực sự muốn đào sâu vào coding sẽ thích thú. Ở bước 5, bạn sẽ gặp khó khăn nếu skill về giải quyết các vấn đề logic của bạn không đủ tốt để tạo nên một “cơ chế” làm việc chung cho ứng dụng của bạn. Nếu gặp vấn đề này mà đã cố gắng nhiều nhưng không thể giải quyết nổi, bạn cần một framework.

Có nhiều MVC framework tốt như CakePHP, CodeIgniter, Zoop,… hay thậm chí bạn có thể chọn dùng ngay Symfony hay Zend Framework. Tất cả đều tốt và thử thách khả năng research của bạn. Tận dụng framework này, đôi khi sẽ lại làm khó khăn và mất đi cơ hội cho bạn luyện tập những thư viện Smarty hày PDO mà tôi đã đề cập. Lý do là đa số framework đều có sẵn những cơ chế hỗ trợ những vấn đề này và thực tế bạn có thể bỏ hẵn bước 5 thú vị và đốt cháy giai đoạn sang bước 6. Tôi không dám dánh giá các framework nào là tốt hơn để lựa chọn nhưng Zend có vẻ là một framework được nhiều người ưa chuộng, ít nhất cũng vì tên tuổi của Zend. Thực tế, Zend là một tập hợp nhiều library hơn một framework hoàn thiện, nó sẽ rất tốt cho ai có khả năng kết nối các library với nhau và không thích một cơ chế gò bó như các framework khác thường có. Tuy nhiên, nến xét về mức độ nhanh chóng, các framework khác sẽ dễ tiếp cận hơn hẳn. Với nhiều người thì cách tiếp cận lại ngược lại, họ muốn có một framework MVC do chính mình xây dựng và làm được như vậy, người đó thực sự có nhiều cơ hội thành một developer hàng đầu. Lời khuyên là bạn nên có một framework cho mình và quen thuộc với nó. Khái niệm làm việc trên 1 framework cũng sẽ giúp đỡ nhiều khi bạn làm trong 1 công ty vì như vậy sẽ tạo ra 1 chuẩn mực chung cho các member làm trong cùng 1 nhóm.

7. More than an application Cuối cùng thì nội lực của bạn cũng kha khá thâm hậu để đục đẽo các open source của Joomla, Drupal, WordPress, PhpBB,… hay gì gì đi nữa. Đây là công việc thú vị mà dân nghiền code chắc chắn không bỏ qua. Nghiên cứu các open source này cho bạn tìm hiểu những ứng dụng được thiết kế để có thể thay đổi cấu hình, liên tục phát triển thêm các module, component hỗ trợ và mở rộng gần như vô hạn. Bạn cũng sẽ tìm được cơ hội co-developing các ứng dụng, thử tìm cách làm việc nhóm, quản lý và chia sẻ code qua Internet,… và cùng nhiều người tạo dựng nên các ứng dụng hữu ích chắc chắn là điều thích thú nhất. Bài này tạm dừng ở đây, khi có thời gian, hy vọng tôi có thể đóng góp các bước xây dựng một MVC core framework để mọi người cùng chia sẻ.

(Nguồn phpvn.org)

Chain Reaction 1996 BluRay 720p DTS x264-CHD Phản Ứng Dây Chuyền

IMDB’s rating: 5.5/10 (từ 33,858 bình chọn)

 

 

Derailed 2005 BluRay 720p x264 DTS-MySilu | Lạc lối | Clive Owen, Jennifer...

 

 

Tóm tắt:

Eddie, một sinh viên sắp tốt nghiệp ở đại học Chicago, làm kỹ thuật viên cho một dự án khoa học phát minh ra một loại nhiên liệu thay thế với giá rẻ và không ô nhiễm.
Khi một giáo sư trong nhóm nghiên cứu bị ám sát và phát minh bị đánh cắp, Eddie và nhà vật lý học Lily Sinclair bị tình nghi có liên quan. Cả hai phải lẫn trốn sự truy lùng của CIA, FBI và một số công ty có lợi ích liên quan đến phát minh, trong đó có công ty của Paul Shannon, thầy của Eddie, điều mà Eddie không hề biết.
Ediie và Lily bị đặt vào tình huống phải tìm ra phát minh bị đánh cắp để lấy lại sự trong sạch của mình.


Kho Phim Download Chat Luong Cao

Indagine su un cittadino al di sopra di ogni sospetto 1970 1080p BluRay FLAC x264-EA

Indagine su un cittadino al di sopra di ogni sospetto 1970 1080p BluRay...

 

Ratings: 8,1/10 from 3.600 users Metascore: 89/100

 

Tóm tắt:

1 tên cớm bẩn, rất bẩn nhưng lại leo lên được chiếc ghế rất cao. Ở nhà thì “bệnh nghề nghiệp” nên hắn cùng cô vợ có khá nhiều trò vui. 1 hôm hứng chí, sau khi mây mưa sung sướng hắn tiễn cô bồ nhí về bên kia thế giới. Sau khi lấy sạch nữ trang của nàng, hắn còn na cả mấy chai rượu về đồn đãi lính lác, rồi dùng cả điện thoại nhà nàng báo tin nữa chứ – tay này thích đùa mà – Trong cuộc chơi để tìm ra thủ phạm – kẻ giết người lại đứng ở vị trí chỉ huy…

 

High School Musical Triology 2006-2008

High School Musical Triology 2006-2008 BluRay 720p x264 DTS AC3 3Audio-HDWinG

 

 

iMDB RATiNG.....: 5.0/10 (From 44,413 votes)
Kho Phim Download Chat Luong Cao

47 Ronin 2013 720p BluRay DTS x264-SPARKS 47 Lãng Nhân

47 Ronin 2013 720p BluRay DTS x264-SPARKS
47 Lãng Nhân
Ratings: 6,5/10 from 27.983 users

 

47 Ronin 2013 720p BluRay DTS x264-SPARKS ~ 47 Lãng Nhân {All BluRay...

Tóm tắt:
Sau khi vị chủ tướng của mình bị giết oan, 47 ronin ( còn gọi là lãng nhân ) đã cùng nhau lên kế hoạch trả thù cho sư phụ của mình đồng thời lấy lại danh dự cho thế giới samurai. Từ quê hương họ lên đường vượt qua nghìn trùng để tìm kiếm sự giúp đỡ của Kai ( Reeves ) người đã từng bị họ từ chối gia nhập nhóm Ronin.

Những lãng nhân này phải đối mặt với những thế lực đầy mờ ám nơi những kẻ khủng bố cùng những truyền nhân mang trong mình ma thuật cao cường luôn vây quanh nhằm hãm hại và tiêu diệt họ

Download:

Kho Phim Download Chat Luong Cao

Moebius 2013 720p BluRay DTS x264-PublicHD Trên Cả Kinh Sợ | Vòng Tròn Tội Lỗi

Moebius 2013 720p BluRay DTS x264-PublicHD
Trên Cả Kinh Sợ | Vòng Tròn Tội Lỗi 
Ratings: 6.6 /10 from 779 users

 

Moebius 2013 | 720p BluRay DTS x264 | Trên Cả Kinh Sợ { 2013 }

Tóm tắt:
Một bộ phim mới nhất của đạo diễn Kim Ki Duk và cũng là bộ phim gây sốc nhất của đạo diễn này từ trước đến nay. Ở đó, nó thể hiện nỗi đau, sự sợ hãi, tuyệt vọng, kinh sợ, kinh tởm, dục vọng, ăn năn, hối hận, lệch lạc … hầu như tất cả các cảm xúc tiêu cực mà còn người có thể có được. Và thậm chí, đa số người xem sẽ tắt ngay phim sau khi xem được 10 phút, vì nó quá gớm ghiếc.
Chỉ cần có thế là đã nói lên những tình tiết li kỳ khiến người xem không thể nào cưỡng lại được ..

Download:

Kho Phim Download Chat Luong Cao

Speed 1994 720p – 1080p BluRay DTS x264 Tốc Độ

Speed 1994 720p – 1080p BluRay DTS x264
Tốc Độ
iMDB.RATiNG…: 7.2/10 from 204,592 users

Speed 1994 720p - 1080p BluRay DTS x264 ~ Tốc Độ | Keanu Reeves, Dennis Hopper,...

Tóm tắt:
Speed (Tốc Độ) được chọn là một trong những bộ phim hành động hay nhất của thập niên 90. Nội dung phim xoay quanh một chiếc xe buýt chở đầy hành khách bị một cựu chuyên gia bom mìn chọn làm mục tiêu để đòi tiền chuộc. Hắn cài một quả bom, nó sẽ khởi động khi xe chạy quá 50 dặm/h và tự động phát nổ khi vận tốc giảm xuống dưới con số đó. Jack Traven, thuộc lực lượng SWAT, phải tìm cách gỡ được quả bom trước khi chiếc xe dừng lại vì hết xăng.

Download:

Kho Phim Download Chat Luong Cao

Operation Endgame 2010 720p.BluRay.DD5.1.x264-CtrlHD

Operation Endgame 2010 720p.BluRay.DD5.1.x264-CtrlHD
Chiến dịch chống khủng bố
Đánh giá: 4.9/10 from 8,098 users 

Operation.Endgame.2010.720p.BluRay.DD5.1.x264-CtrlHD - Chiến dịch chống...

Download:

Kho Phim Download Chat Luong Cao

The.Kids.Are.AllRight.2010.720pBlurayx264CBGB

The.Kids.Are.AllRight.2010.720pBlurayx264CBGB 
Bọn trẻ đều ổn
Đánh giá: 7.1/10 from 90,739 users 

The.Kids.Are.AllRight.2010.720pBlurayx264CBGB - Bọn trẻ đều ổn

Download:

Kho Phim Download Chat Luong Cao