Lộ trình học lập trình PHP từ đầu cho người mới

Tiếp nối bài viết lộ trình học front-end từ đầu thì trong bài này mình sẽ thảo luận về lộ trình học lập trình PHP từ đầu, đây là lộ trình mà mình cảm thấy hữu ích nhất nên mình chia sẻ với hy vọng giúp các bạn tham khảo và có định hướng rõ ràng hơn. Đây là lộ trình học để trở thành một PHP Developer thực thụ, nghĩa là bạn sẽ học theo định hướng nâng cao, không phải học để đạt được một mục đích nhỏ bé nào đó.

Nhiều bạn cứ nghĩ nếu tập trung học thì trong vòng 3, 4 tháng là có thể thành thạo, điều này là ảo tưởng nhé. Nếu chỉ học vài tháng là giỏi thì hầu như ai cũng có thể học được, và các doanh nghiệp tuyển dụng không cần phải đặt ra yêu cầu 3, 4 năm kinh nghiệm. Vì vậy một khi đã quyết định học thì phải vừa học, vừa làm và vừa tu luyện ít nhất 1 năm thì mới tự tin. Sau đây là lộ trình mình đưa ra, các bạn có thể tham khảo thôi nhé.

1/ Học kỹ thuật lập trình PHP

Thường những bạn đã từng học qua C, C++ thì khi học PHP sẽ cảm thấy rất dễ, điều này là không thể phủ nhận. Nhưng nếu bạn là người chưa biết gì về lập trình và muốn theo con đường PHP thì trước tiên hãy học kỹ thuật lập trình PHP nhé, bước này sẽ tạo cho bạn một nền tảng vững chắc về tư duy lập trình.

Có nhiều ý kién cho rằng học PHP trước là quá sớm, tuy nhiên mình nhận thấy nó lại rất tốt, thay vì mất thời gian học C/C++ thì bạn chỉ tập trung học vào PHP. PHP cũng là một ngôn ngữ lập trình nên bạn hoàn toàn có thể luyện tư duy qua nó, thứ hai nữa là do làm web không cần phải biết nhiều về các thuật toán, đây cũng là một lợi thế cho bạn.

Lưu ý: Bước này bạn chỉ học thuật toán căn bản, vì vậy bạn không cần học kết nối với CSDL, hay render ra HTML.

Gợi ý khóa học: Kỹ thuật lập trình PHP

Tài liệu tham khảo: Học PHP căn bản

2/ Học HTML & CSS căn bản

Đồng ý là bạn theo back-end nhưng cũng nên biết chút về HTML và CSS nhé, ít ra cũng biết cắt từ file PSD sang HTML và CSS. Bản thân mình là một Backend Developer nhưng cũng đủ kiến thức để cắt giao diện và làm responsive. Tại bước này bạn cần học căn bản, đủ làm giao diện xấu xấu để phục vụ cho bước tiếp theo, nếu có điều kiện về thời gian thì có thể học rành luôn thì càng tốt.

Gợi ý khóa học: Khóa học HTML & CSS căn bản

Tài liệu: Bạn có thể tham khảo series htmlcss.

3/ Học Javascript căn bản

Tiếp theo bạn cần học một chút về Javascript, kết hợp với kiến thức ở phần 1 để tạo ra giao diện website động (ở mức client). Nghĩa là bạn kết hợp Javascript để tạo ra những hiệu ứng trên website như: validate form, thay đổi giao diện khi có hành động ... và cái này ta gọi là Dynamic HTML. Bước này bạn không cần phải học nâng cao, bạn chỉ cần nắm một số phần kỹ thuật lập trình như lênh if else, vòng lặp, selector và DOM trong Javascript là quá đủ rồi.

Gợi ý khóa học: Bạn có thể học khóa học Javascript từ đầu.

Tài liệu: Tham khảo series học javascript căn bản, nếu bạn chịu khó nghiên cứu thì đọc đống tài liệu này cũng đủ rồi, khỏi cần phải học khóa js đó.

4/ Học jQuery căn bản

Sau khi biết cách sử dụng Javascript rồi thì mình nghĩ bạn nên học tiếp jQuery, một thư viện xử lý hiệu ứng rất mạnh của Javascript. Tại sao lại là jQuery chứ không phải một thư viện khác? Bạn có biết hầu hêt 90% các website đều có sử dụng jQuery, 90% các plugin hiệu ứng như slide, popup đều sử dụng jQuery, thậm chí một thư viện CSS rất mạnh đó là bootstrap cũng có sử dụng jQuery. Vì vậy bước này bạn cần tìm hiểu sơ lược qua nó, để sử dụng vào những ứng dụng nhỏ trong bước tiếp theo dưới đây.

Gợi ý khóa học: khóa học jQuery từ đầu

Tài liệu: Tham khảo series học jquery, trong đó có các video tự học jQuery rất hay.

5/ Học CSS Framework / Bootstrap

Có bao giờ bạn nghe tới khái niệm responsive chưa? Chắc chắn là có rồi phải không nào? Và bạn cũng thắc mắc là tại sao 3 phần trên mình không nói tới responsive phải không? Nếu vậy thì bạn nên quay lại đầu bài viết mình đã nói đó là quy trình.

Bootstrap là một thư viện CSS dùng để xây dựng giao diện website theo hệ thống grid, nó hoạt động theo cơ chế responsive nên hiển thị tốt trên mọi trình duyệt và thiết bị. Sử dụng bootstrap có rất nhiều lơi thế như: giúp bạn xây dựng giao diện nhanh hơn, chạy hầu hết trên các thiết bị, cập nhật theo công nghệ mới, những điều này rất khó nếu bạn tự mình thực hiện responsive, riêng check chạy trên mọi thiết bị và trình duyệt thôi cũng bất ổn rồi :)

Bạn cũng có thể chọn một CSS Framework khác như Foundationflexbox.

Khóa học gợi ý: Hiện có hai khóa học cho bạn, một khóa cơ bản và một khóa nâng cao.

Lưu ý: Bạn có thể bỏ qua bước này và học nó sau khi học xong PHP căn bản, vì sau bước 4 là  bạn đã có thể làm được layout đơn giản và đủ để thực hành PHP rồi.

6/ Học PHP & MySQL căn bản

Bước thứ 6 rồi nhưng mọi thứ vẫn chưa có gì phải không các bạn ;) Đừng quá lo lắng vì các bạn đang học theo hướng đi vững chắc, tạo ra nền kiến thức có thể xuyên thấu mọi PHP Framework hiện nay như Laravel, Zend.

Học MySQL

Database đóng vai trò rất quan trọng khi xây dựng phần mềm, nó có nhiệm vụ lưu trữ dữ liệu của ứng dụng như thông tin người dùng, khách hàng, tin tức hoặc sản phẩm.

Gợi ý khóa học: Khóa học thực hành MySQL

Tài liệu tham khảo: Học MySQL

Học kết hợp PHP - Database - HTML

Bước này bạn sẽ tìm hiểu thêm một số module trong PHP như SESSION, các hàm xử lý file, ... cách két nối với CSDL và render ra HTML.

Gợi ý khóa học: Hiện FEDU chưa có khóa học này nên bạn có thể tham khảo bộ ba khóa học PHP tương đối rẻ, bạn hãy học khóa 1 và 2

Tài liệu: Bạn nên tham khảo series php căn bản nhé.

Thực hành các mini Project với PHP và MySQL

Bước này bạn sẽ thực hành nhiều mini project, càng nhiều cáng tốt. Ví dụ bạn sẽ làm ứng dụng quản lý sinh viên, ứng dụng note online, ... những ứng dụng như vậy sẽ giúp bạn thành thạo hơn.

Khóa học gợi ý: Đang xây dựng 

Tài liệu: Tham khảo các series học PHP, có một vài mini project ở trên đó.

Xử lý Ajax với PHP và jQuery

Ajax rất quan trọng, đây là kỹ thuật giúp ta lấy dữ liệu ngầm mà người dùng không hề biết. Ví dụ như facebook, khi bạn kéo xuống thì nội dung  cứ xuất hiện ra, đây là kỹ thuật ajax lấy nội dung từ server và hiển thị bổ sung vào website (mình chỉ ví dụ vì FB dùng nhiều kỹ thật push data khác). Ajax được ứng dụng rất nhiều, nó tạo tạo ra sự thân thiện với người dùng bởi lẽ trang web không hề load lại.

Để làm được Ajax thì ban phải biết PHP và jQuery, cần thêm MySQL nếu chức năng đó có lấy dữ liệu. Tất cả kiến thức này đều đã học ở trên.

Khóa học gợi ý: Fedu đang xây dựng, bạn tham khảo khóa Ajax này trước nhé.

Tài liệu: Tham khảo series học Ajax.

Xây dựng website tin tức đơn giản

Bạn chưa cần phải làm web thương mại điện tử, bạn chỉ cần làm một website tin tức đơn giản và đầy đủ chức năng từ front-end đến back-end là được. Bước này mục đích giúp bạn hiểu được quy trình xây dựng website như thế nào, các thành phần tham gia vào quy trình đó.

Thường khi bạn đăng ký học một khóa PHP căn bản thì sẽ có luôn phần này làm đồ án cuối khóa, nên phần này mình sẽ gom nó vào bước thứ 4 luôn.  Hiện tại cũng có một vài series làm project tin tức căn bản trên freetuts, bạn hãy xem nó ở  trang học php nhé.

Gợi ý khóa học: FEDU đang xây dựng khóa học này.

7/ Học PHP nâng cao

Tương tự như bước 4, bước này bạn cũng phải học rất nhiều thứ, thậm chí là nó khó hơn rất nhiều.

Lập trình hướng đối tượng

Sau khi học xong PHP căn bản thì bạn cần học qua PHP nâng cao, học lập trình hướng đối tượng. Nội dung của phần này tương đối phức tạp, nắm vững nó thì sau này bạn mới học nâng cao lên mô hình MVC và các Framework được. 

Gợi ý khóa học: FEDU đang xây dựng khóa học này

Tài liệu: PHP nâng cao.

Học MVC PHP

Bước này bạn cần nẵm vững mô hình MVC là gì, cách thức hoạt động của nó trong một dự án phần mềm. Mô hình MVC đóng vai trò rất quan trọng, nó không phải là một công nghệ mà là một kỹ thuật phân chia cấu trúc trúc của một dự án phần mềm.

Tài liệu: Tham khảo series MVC PHP nâng cao.

Xây dựng website bán hàng

Đến bước này thì kiến thức của bạn tương đối nhiều rồi phải không nào? Bây giờ bạn cần thực hành nó bằng cách xây dựng một website bán hàng đơn giản, có đầy đủ các chức năng như hiển thị danh sách, đặt hàng và thanh toán. Phía backend bạn cũng phải code được nhiều chức năng như quản lý người dùng, tạo mã giảm giá,  quản lý đơn hàng ... đó là những chức năng cần thiết của một trang bán hàng.

Gợi ý khóa học: Đang xây dựng

Tài liệu tham khảo: Đang xây dựng

8/ Học Framework

Bạn đã hoàn thành 5 bước và đương nhiên lúc này kiến thức của bạn quá OK rồi, bạn hoàn toàn có thể làm website cho khách hàng được rồi. Tuy nhiên một vấn đề đặt ra là nếu bạn tự code tất cả thì dự án sẽ rất lâu, bảo mật kém và bạn không thể nào suốt ngày nghiên cứu bộ source để nâng cấp theo công nghệ được. Lúc này framework là một lựa chọn sáng suốt.

Ưu điểm của framework là nó đã cung cấp cho bạn đầy đủ thư viện và bạn chỉ việc sử dụng, các thư viện đó đa số xử lý được hết mọi yêu cầu thường thấy. Ví dụ thư viện  cart thì nó cung cấp cho bạn các phưong thức thường thấy như tạo giỏ hàng, thêm sản phẩm, xóa sản phẩm và đặt hàng.

Hiện nay có rất nhiều framework và bạn nên chọn một framework mà mình yêu thích và theo xu hướng, hiện nay mạnh nhất vẫn là Laravel.

Codeigniter

Đây là framework tương đối đơn giản, dễ học, tài liệu phong phú nên phù hợp với người mới bắt đầu tìm hiểu về MVC nói chung và Framework nói riêng. 

Hiện có hai khóa học đó là:

Bạn có thể mua Combo khóa học lập trình PHP và MySQL MVC từ căn bản đến nâng cao gồm hai khóa trên để tiết kiệm chi phí.

Khóa học miễn phí: Khóa học xây dựng website bán hàng với Codeigniter miễn phí.

Tài liệu: Tham khảo thêm học codeigniter.

Còn rất nhiều framework khác như laravel, phalcon, zend nhưng hiện tại mình chưa tổng hợp được. Cám ơn bạn đã theo dõi.

Ngoài ra bạn có thể học các Framework khác như Laravel, Zend, ...