Trước đây, khi mình (một con cừu non) còn là sinh viên, mình thật sự rất rất là hoang mang về tương lai của mình. Vì sao ư? Đơn giản là khi học mình thấy có cả thứ tá ngôn ngữ lập trình, công nghệ ngoài kia khiến mình vô cùng hoang mang, lo lắng, đêm thì không ăn, ngày thì không ngủ. Show Cùng là chữ xê(C) thì có C, C#, C++,… rồi nào là Java, Javascript, tiếp đến là PHP, Python, Ruby, Perl, Golang, Objective-C,… Nếu mà tìm hiểu về các framework của mấy ông này nữa thì chắc não chưa nhăn thì mặt cũng đã nhăn rồi. Rồi khi mình tìm hiểu đến database thì nào là SQL Server, MySQL, MariaDB, PostgreSQL, MongoDB,… Đấy nếu bạn là sinh viên (năm 1,2,3 thậm chí có thể là năm 4,5 đi nữa) thì khi nhìn vào đống này bạn vẫn có thể hoa mắt chóng mặt. Về bản thân mình thì cuối cùng mình cũng chọn PHP & MySQL để song hành và là công cụ để mình kiếm cơm sau này. Hiện tại mình đã đi làm được hơn 1 năm rồi, hôm nay nhân một ngày cuối tuần rảnh rỗi mình sẽ chia sẻ lại lộ trình để bạn có thể đi làm hay là trở thành một lập trình viên PHP (PHP Developer). Trước khi vào bài viết thì mình cũng sẽ nói trước là:
Mình cũng có roadmap (lộ trình) để trở thành Back-end Developer để cho các bạn tham khảo:
Đầu tiên muốn trở thành một lập trình viên PHP (PHP Developer) thì trước tiên bạn phải hiểu PHP là gì đã nhỉ.
Trích dẫn theo Wikipedia: https://vi.wikipedia.org/wiki/PHP Nôm na thì các bạn chỉ cần hiểu PHP là một ngôn ngữ lập trình phía server dành cho website. Theo thống kê thì có đến 78.9% các website chọn và sử dụng PHP làm ngôn ngữ lập trình phía server. Các bạn có thể tham khảo ở đây: https://w3techs.com/technologies/details/pl-php Có rất nhiều những website nổi tiếng có sử dụng PHP như: Etsy, Facebook, Pinterest, Tumblr, Wikipedia, hay là một CMS nổi tiếng bậc nhất là WordPress cũng sử dụng PHP luôn. Lập trình viên PHP là gì?Cái này có lẽ không cần giải thích nhỉ? Bởi vì câu trên đã nói lên tất cả rồi. Lập trình viên PHP chính là lập trình viên sử dụng ngôn ngữ PHP để xây dựng lên các ứng dụng, chương trình hay là các website. Lộ trình học của mình1. Học HTML/CSS, JavascriptHTML/CSS?Đúng vậy, tại sao lại phải học HTML/CSS? Bài viết này là về PHP cơ mà? Đơn giản thôi, PHP là một ngôn ngữ lập trình dành cho các website và với website thì HTML/CSS là thứ gì đó không thể thiếu được. Bởi vì nó chính là thứ ngôn ngữ tạo nên giao diện, cầu nối để tương giác giữa người dùng với hệ thống của mình. Bây giờ bạn muốn đi Lamborghini chỉ có khung hay là muốn đi chiếc Lamborghini hịn nào? Với HTML/CSS thì có cả rất rất rất nhiều các khóa học, bài viết, tutorial dạy về nó. Ngày xưa thì mình có học cơ bản trên các trang như W3School, Freetuts. Bạn có thể tham khảo các link dưới đây:
Và tất nhiên là mình phải tìm kiếm rất nhiều khi gặp các vấn đề trên Google nên là còn nhiều nhiều trang nữa mà mình ko thể ghi lại được ra ở đây (vì quên rồi). Sau khi học cơ bản thì mình hay cắt PSD hoặc là đi làm lại (clone) giao diện của các website khác để tăng trình độ. Cái này là do mình muốn nâng cao kiến thức nhiều về Front-end nên học nhiều. Với những bạn nào không muốn tìm hiểu sâu thì cũng có thể chỉ dừng lại ở mức cơ bản thôi là được rồi. Nhưng mà mình khuyên là vẫn nên học sâu và nâng cao về HTML/CSS để sau này nếu PHP hết thời vẫn có phương án là Front-end Developer (đùa đấy =))). JavascriptJavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua. Nó cũng là một trong số 3 ngôn ngữ chính của lập trình web. JavaScript liên tục phát triển, có lục đạt đến 92% website đang sử dụng JavaScript vào năm 2016. Chỉ trong 20 năm, nó từ một ngôn ngữ lập trình riêng trở thành công cụ quan trọng nhất trên bộ công cụ của các chuyên viên lập trình web. Javascript giúp tăng sự tương tác của website với người dùng. 2. Học MySQLDatabase là một phần không thể thiếu của bất cứ ứng dụng nào. Nó là thứ để lưu trữ các dữ liệu của ứng dụng và người dùng. Trong PHP thì người ta thường ưa chuộng MySQL. Nhắc đến PHP thì người ta nghĩ ngay đến MySQL và ngược lại, dường như MySQL sinh ra là để dành cho PHP vậy. A happy couple! Đầu tiên để làm quen với PHP thì các bạn nên học các lệnh và mệnh đề sau đây:
Trên đây là các lệnh, mệnh đề cơ bản khi mà bạn mới làm quen với MySQL. Ngoài ra còn nhiều khác niệm, kiến thức khác mà bạn cần phải học nữa. Các bạn có thể tìm hiểu các khái niệm cơ bản MySQL qua trang W3School nhé. Ngoài ra bạn cũng có thể học một vài kiến thức nâng cao tại blog của mình: 3. Học PHP thuầnCái này thì là chắn chắn rồi nhỉ? Để trở thành một lập trình viên PHP thì chắc chắn là phải học PHP rồi. So với các ngôn ngữ lập trình khác như Java, C#, Golang,… thì theo mình thấy PHP là một ngôn ngữ lập trình khá là dễ để có thể tiếp cận ở mức cơ bản. Đó là lý do tại sao lại có nhiều lập trình viên hay là nhiều website sử dụng PHP như vậy. Học PHP căn bảnNgày xưa khi học PHP thì mình sẽ tìm hiểu qua các khái niệm, cú pháp cơ bản của nó như:
Trước đây mình hay học nhất là qua 3 trang sau:
Mình thấy mấy trang này lượng kiến thức của nó khá là tốt, dễ hiểu, chất lượng và đặc biệt là hoàn toàn miễn phí nữa. Ngoài ra còn rất nhiều nơi khác nữa để các bạn có thể học PHP căn bản miễn phí khác. Google để biết thêm chi tiết nhé. Học OOPSau khi nắm vững được các kiến thức căn bản về PHP thì tốt nhất bạn nên tìm hiểu về OOP. Theo mình thấy bây giờ bất cứ Framework, CMS, Package, Project nào viết bằng PHP cũng đều dựa trên mô hình OOP cả. Nên việc bạn nắm vững các khái niệm OOP căn bản sẽ giúp cho bạn dễ dàng tiếp cận các Framework hay CMS cho công việc. Vậy thì ưu điểm của OOP là gì mà lại được ưa chuộng như vậy?
Khi học OOP nói chung thì các bạn cần nắm vững 4 đặc tính của lập trình hướng đối tượng:
Ngoài ra còn có một vài khái niệm mà mình muốn các bạn đọc và hiểu:
Học mô hình MVCSau khi đã nắm vững được về OOP rồi thì các bạn phải tìm hiểu về mô hình MVC. Hiện tại thì đây là một mô hình mà hầu hết tất cả các framework/CMS PHP đang sử dụng. Mà thật ra cũng không chỉ riêng PHP đâu. Mình thấy rằng là rất nhiều các framework của nhiều ngôn ngữ khác đều đang sử dụng mô hình này trong việc phát triển ứng dụng của mình. Về khái niệm thì MVC là từ viết tắt bởi 3 từ Model – View – Controller. Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm. Mô hình source code thành 3 phần, tương ứng mỗi từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình. Model (M) Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường. Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,… View (V): Đây là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng thông qua các website. Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ đó, C đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn có chức năng kết nối với model. 4. Học Framework/CMSSau khi đã nắm vững được kha khá kiến thức của PHP thuần và bạn có thể tự mình xây dựng được một website bằng PHP thuần. Nó phải là website tin tức hay là bán hàng với các tính năng đặc biệt chứ không chỉ đơn thuần là thêm sửa xóa. Thì một thứ mà bạn cần phải học tiếp theo đó là học Framework hoặc CMS nào đó để phục vụ cho công việc. Hiện tại thì với Framework thì Laravel hiện nay là framework tốt nhất, nhiều người, nhiều công ty sử dụng nhất dành cho PHP. Nên là mình recommend bạn nên học Laravel. Ngày xưa khi mình bắt đầu học Laravel thì mình thường tham khảo nhiều nhất trên 2 trang đó là:
Ngoài ra cũng các framework dưới đây cũng được các công ty sử dụng nhiều:
Cũng có nhiều nơi sử dụng các CMS để phát triển hệ thống website. Các bạn cũng có thể học:
Tuy nhiên, Framework hay CMS thì cũng chỉ là những công cụ. Hôm nay Laravel là công cụ tốt nhất tuy nhiên không ai chắc chắn rằng ngày mai nó không bị lật đổ bởi một công cụ khác. Thế nên là các bạn nên học thật vững PHP căn bản. Khi có nền tảng căn bản vững chắc rồi thì súng nào vào tay mình cũng bắn được hết. 5. Kỹ năng mềmThật ra thì mình tự đánh giá kỹ năng mềm của mình cũng không được giỏi cho lắm. Nhưng mình cũng tự thấy là nó đủ dùng để có thể làm việc được với mọi người. Ví dụ một vài kỹ năng cơ bản bạn phải nắm được:
Mình thấy có 1 channel khá hay ở trên youtube. Ở đây có nhiều video về kỹ năng mềm mà có thể bạn cần: Kỹ năng sống | HatBuiNho
|