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 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: đang cập nhật

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

2/ 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.

3/ 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.

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

Bước thứ 4 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 PHP căn bản

Bước này bạn chỉ cần học vững kỹ thuật lập trình PHP căn bản như: lệnh if else, vòng lặp, xử lý mảng, ... Sau đó thực hiện kết hợp với phần 1,2 để tạo ra những ứng dụng đơn giản như tạo ra máy tính bảng, tạo ra ứng dụng kiểm tra sức khỏe, chương trình quản lý học sinh lưu session ... Nghĩa là bạn chưa cần đụng tới database. Những bài tập mình nói đó rất quan trọng, nó sẽ giúp bạn tăng kỹ năng xử lý tình huống, sau này mỗi khi gặp tình huống tương tự thì bạn sẽ nhạy bén hơn.

Gợi ý khóa học: Có một 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é.

Học MySQL căn bản

Vẫn tiếp tục với 2 từ cơ bản. Bước này bạn sẽ học các khái niệm căn bản về hệ quản trị cơ sở dữ liệu, học phân tích tạo ra một mô hình dữ liệu dựa vào yêu cầu của dự án. Kết thúc phần này bạn phải nắm vững các tạo một lược đồ cơ sở dữ liệu lưu trữ thông tin, nắm rõ các thao tác select, insert, delete và update trong MySQL.

Phần này khá quan trọng vì MySQL là nơi lưu trữ dữ liệu, mà dữ liệu là quan trọng nhất của một hệ thống quản lý, nếu mất dữ liệu thì giống như doanh nghiệp đó phải bắt đầu lại từ đầu. Sau này thực hành nhiều bạn sẽ biết nên phân tích CSDL như thế nào để tối ưu trong việc lưu trữ và tốc độ truy vấn tìm kiếm.

Gợi ý khóa học: khóa thứ 3 trong bộ ba khóa php căn bản.

Tài liệu: tham khảo series học MySQL.

Mini project với PHP và MySQL

Bước này bạn sẽ học cách kết nối giữa PHP và MySQL, cách sử dụng PHP để lấy dữ liệu trong MySQL và render thành HTML và trả về cho client. 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.

Bước này không có khóa học, mà mình muốn đưa ra để bạn tự thực hành. Cũng có một số khóa học người ta đưa vào trong nội dung ở bước 3 luôn, vì vậy bạn cũng có thể gom bước này vào bước 3.

Khóa học gợi ý: Hiện chưa có

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. 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 ý: Tham khảo khóa Ajax này

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é.

5/ 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. 

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

Học Bootstrap

Mình ghép nó vào phần này là tại vì hiện nay đa số giao diện website đều sử dụng thư viện bootstrap để xây dựng, thứ nhất giúp đẩy nhanh tiến độ và thứ hai là nó thân thiện với mọi thiét bị (responsive).

Tài liệu: Học bootstrap.

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.

Phần thứ 5 này 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í.

6/ 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. 

Khóa học: 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.