Thấy nhiều bạn hỏi quá nên mình viết bài này, tổng hợp tất tần tật những thứ chúng ta sẽ phải học để trở thành fullstack web dev với ngôn ngữ php:

HTML

Đầu tiên là ngôn ngữ đánh dấu HTML, vâng, nó là cái ngôn ngữ để hack NASA với facebook ấy =)) Bạn sẽ tìm hiểu sử dụng các thẻ HTML một cách thuần thục, tất nhiên chưa thể nhớ hết những thẻ ít dùng, nhưng cũng phải cơ bản, chỗ nào dùng thẻ nào, sau này viết nhiều sẽ nhớ, đừng lo lắng.

CSS

Cái này thì khá là phức tạp, nên khá nản đấy, giao diện nó mong manh dễ vỡ lắm, bạn cần nắm các kiến thức về CSS và đặc biệt là CSS3, hiểu về dựng layout web bằng CSS thuần, float, clear, flex, các kỹ thuật liên quan đến sass, responsive, media query, pseudo css, fault column, css animation… cực kỳ đau khổ

Các kiến thức cơ bản về web:

Kến thức cơ bản: nghe đã rất là hàn lâm rồi phải không? Tức là tìm hiểu web hoạt động như thế nào? Các kiến thức về http request, dns, domain, hosing, ajax, session, cookie…bla bla.

Psd to html

Tức là cắt giao diện từ file thiết kế thành web, trong một công ty, bọn designer đưa cho chúng ta các bản thiết kế mà bọn nó vẽ vời ra, việc của chúng ta là làm sao chuyển nó thành trang web. Đến đây bạn sẽ phải tìm hiểu cả về phần mềm đồ họa như photoshop hay illustrator nhé, cũng phải biết thao tác trên phần mềm đồ họa mới làm được đấy.

Javascript

Bạn nên học javascript từ căn bản, bởi vì cái bản thân ngôn ngữ này nó đặc biệt rất dở hơi, ở giai đoạn này bạn có thể chưa biết về lập trình hướng đối tượng OOP, nhưng không sao, chúng ta sẽ học nó sau ở phần backend cũng được, cứ sơ sơ tạo mấy cái hiệu ứng bay nhảy trên web cho vui mắt cái đã. Đặc biệt ở giai đoạn này bạn chú ý đến mấy cái: js dom document, tham trị, tham chiếu, promise, await, async, callback => mấy cái này rất dễ rối.

Mấy thứ lằng nhằng khác:

Nó là jquery, bootstrap với mấy thư viện, bạn cũng học cách sử dụng npm, sass, webpack… bla bla, nói chung là các công cụ.

Học framework javascript

Đến đây thì bạn học Vue hoặc React, theo mình là thế, vì angular thì mình thấy nó cũng hơi chìm dạo này rồi, nhưng về cơ bản các framework này cũng na ná nhau, nên bạn đừng lo lắng, học một cái thì tiếp thu cái kia cũng nhanh thôi. Cái nào cũng có routing, props, components, style binding, methods, life cycle gần như nhau.

Đặc biệt nếu học React thì bạn có thể sau này bạn dễ dàng tìm hiểu thêm để làm ứng dụng mobile bằng react-native được nữa.

Vue cũng là lựa chọn tốt, bởi vì nó được tích hợp đi cùng với Laravel, cái mà mình sẽ nói ở dưới đây.

PHP

Nó là ngôn ngữ phía server mà bạn sẽ học, lại cũng như trên, bạn học php cơ bản trước, sau này tiếp xúc với framework đỡ rối. Ban đầu học mấy cái biến, hằng số, vòng lặp, hàm, mảng, data type… trước đã. Sau đó là session, cookie, request param…

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

Bạn tìm hiểu về lập trình hướng đối tượng OOP nói chung và OOP trong php: class, namespace, construtor, extends, instance, trait, static methods, magic methods…

Lại các thứ lằng nhằng khác:

Đến đây thì bạn cũng code được vài thứ nho nhỏ rồi, bạn tiếp tục tìm hiểu các thư viện php, và song hành với nó là các php package manager như composer để quản lý gói.

Lúc này đã có kiến thức OOP rồi thì quay lại học javascript lượt nữa như ở mục 5, bạn sẽ thấy javascript lúc này không khó hiểu mấy nữa, vì tất cả javascript đều là oop, mà bạn đã học oop rồi :)

Lúc này bạn code được cả frontend và backend, nên tìm hiểu cách chúng liên hệ với nhau, ajax chẳng hạn =))

Bạn cũng sẽ bắt đầu thích linux, hoặc ít ra vì dùng php nên PHẢI tìm hiểu linux, bạn tìm cách cài đặt appache, nginx, php, mysql.

Rồi cài nhiều mệt quá, bạn tìm hiểu về docker :)

Rồi bạn code ngon, muốn code cùng người khác, bạn tìm hiểu git.

Rồi bạn thấy code của mình rất hổ lốn, bạn cố gắng cấu trúc code của mình ngon hơn. Tất nhiều cái lằng nhằng đang chờ bạn =))

Database

Cơ sở dữ liệu, mà php thì nó yêu thằng mysql, 2 đứa nó là cặp bài trùng, yêu nhau lâu lắm rồi mà chưa cưới. Bạn tìm hiểu về mysql và cơ sở dữ liệu quan hệ nói chung. Tập viết các câu lệnh sql, đại loại phải viết các câu insert, delete, update, read được, thiết kế được, join được, hiểu các kiểu join nó khác nhau như thế nào….

Framework php

Nếu bạn nghe lời dụ dỗ của tôi đến giai đoạn này thì bạn đã sắp đi kiếm cơm được rồi, lúc này, bạn muốn lập trình ứng dụng lớn hơn, làm với nhiều người hơn, và code nhanh hơn. Vậy nên bắt đầu tìm hiểu Framework php.

Trên thị trường thì lại cũng có một rổ framework cho bạn chọn, nhưng có những framework làm bạn bối rối, mông lung như một trò đùa.

Với cá nhân mình thấy, ban đầu bạn tìm hiểu sơ về Codeigniter trước để hiểu framwork nó hoạt động kiểu gì đã. Đây là một framework dễ tiếp cận hơn ban đầu, rồi sau đó sang Laravel có vẻ dễ thở hơn.

Hiện nay Laravel khá hot và được sử dụng nhiều, ngon nữa, vậy nên phần sau đây mình nói về laravel.

Những thứ bạn sẽ học là: cách cài đặt laravel, cấu trúc thư mục, artisan, Application flow, routing, controller, model và view, Blade template, Eloquent ORM, Relationships, Migration, factory và seeder, Auth và middleware…

Chắc đến giai đoạn này thì khả năng nghiên cứu của bạn đã lên trình rất nhiều, tôi không cần phải nói chi tiết hơn nữa. Một hành trình khá dài nhưng rất thú vị đấy, với mình, viết dòng code php đầu tiên cũng đã là 11 năm, nhiều điều để nhớ lắm.

Và nếu muốn học trở thành fullstack web dev, bạn có thể tham khảo khóa học của tôi

Chúc các bạn thành công.