Lộ trình để trở thành một lập trình viên PHP của mình – Vantien’s blog

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à sợ hãi 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 từ lập trình, công nghệ tiên tiến ngoài kia khiến mình vô cùng hoang mang lo lắng, lo ngại, đêm thì không ăn, ngày thì không ngủ .
Bài viết này dành cho những người mới, những bạn sinh viên muốn trở thành lập trình viên PHP
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à khám phá về những 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 khám phá đế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òn hoàn toàn có thể là năm 4,5 đi nữa ) thì khi nhìn vào đống này bạn vẫn hoàn toà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).

Bài viết này dành cho những người mới, những bạn sinh viên muốn trở thành lập trình viên PHP

Trước khi vào bài viết thì mình cũng sẽ nói trước là:

  1. Đây là lộ trình, những thứ của riêng mình đã trải qua. Vì mỗi người có thể sẽ mỗi khác trong việc tiếp cận hay trở trành developer của một ngôn ngữ nào đó.
  2. Chính vì ý 1 nên là bài viết này mang tính chủ quan khá là cao, bạn chỉ nên tham khảo.

Mình cũng có roadmap ( lộ trình ) để trở thành Back-end Developer để cho những bạn tìm hiểu thêm :

PHP là gì?

Đầ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ỉ.

PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.

Ngôn ngữ, những thư viện, tài liệu gốc của PHP được thiết kế xây dựng bởi hội đồng và có sự góp phần rất lớn của Zend Inc., công ty do những nhà tăng trưởng cốt lõi của PHP lập nên nhằm mục đích tạo ra một môi trường tự nhiên chuyên nghiệp để đưa PHP tăng trưởng ở quy mô doanh nghiệp .

Trích dẫn theo Wikipedia : https://vi.wikipedia.org/wiki/PHP
Nôm na thì những bạn chỉ cần hiểu PHP là một ngôn từ lập trình phía server dành cho website. Theo thống kê thì có đến 78.9 % những website chọn và sử dụng PHP làm ngôn từ lập trình phía server. Các bạn hoàn toàn có thể tìm hiểu thêm ở đâ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ẽ rằng không cần lý giải nhỉ ? Bởi vì câu trên đã nói lên tổng thể rồi. Lập trình viên PHP chính là lập trình viên sử dụng ngôn từ PHP để kiến thiết xây dựng lên những ứng dụng, chương trình hay là những website .

Lộ trình học của mình

Bài viết này dành cho những người mới, những bạn sinh viên muốn trở thành lập trình viên PHP

1. Học HTML/CSS, Javascript

HTML/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 từ lập trình dành cho những website và với website thì HTML / CSS là thứ gì đó không hề thiếu được. Bởi vì nó chính là thứ ngôn từ tạo nên giao diện, cầu nối để tương giác giữa người dùng với mạng lướ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 những 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 những trang như W3School, Freetuts. Bạn hoàn toàn có thể tìm hiểu thêm những link dưới đây :
Và tất yếu là mình phải tìm kiếm rất nhiều khi gặp những yếu tố 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 những website khác để tăng trình độ. Cái này là do mình muốn nâng cao kỹ năng và 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 và khám phá sâu thì cũng hoàn toàn 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ó giải pháp là Front-end Developer ( đùa đấy =))) .

Javascript

JavaScript là ngôn từ lập trình phổ cập nhất trên quốc tế trong suốt 20 năm qua. Nó cũng là một trong số 3 ngôn từ chính của lập trình web. JavaScript liên tục tăng trưởng, có lục đạt đến 92 % website đang sử dụng JavaScript vào năm năm nay. Chỉ trong 20 năm, nó từ một ngôn từ 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 những nhâ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 MySQL

Database là một phần không hề thiếu của bất kể ứng dụng nào. Nó là thứ để tàng trữ những tài liệu của ứng dụng và người dùng. Trong PHP thì người ta thường ưu thích MySQL. Nhắc đến PHP thì người ta nghĩ ngay đến MySQL và ngược lại, có vẻ như MySQL sinh ra là để dành cho PHP vậy. A happy couple !
Đầu tiên để làm quen với PHP thì những bạn nên học những lệnh và mệnh đề sau đây :

  • Lệnh INSERT
  • Lệnh UPDATE
  • Lệnh DELETE
  • Lệnh SELECT
  • Mệnh đề WHERE, trong mệnh đều where thì có thêm một số điều kiện cần học: =, !=, LIKE, IN, NOT IN, IS NULL, IS NOT NULL,
  • Mệnh đề ORDER BY
  • Mệnh đề HAVING
  • Mệnh đề GROUP BY
  • Mệnh đề JOIN

Trên đây là những 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, kỹ năng và kiến thức khác mà bạn cần phải học nữa. Các bạn hoàn toàn có thể khám phá những khái niệm cơ bản MySQL qua trang W3School nhé .
Ngoài ra bạn cũng hoàn toàn có thể học một vài kỹ năng và kiến thức nâng cao tại blog của mình :

3. Học PHP thuần


Cá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 như đinh là phải học PHP rồi. So với những ngôn từ lập trình khác như Java, C #, Golang, … thì theo mình thấy PHP là một ngôn từ lập trình khá là dễ để hoàn toàn có thể tiếp cận ở mức cơ bản. Đó là nguyên 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ản

Ngày xưa khi học PHP thì mình sẽ khám phá qua những khái niệm, cú pháp cơ bản của nó như :

  • Biến, hằng
  • Kiểu dữ liệu
  • Toán tử, biểu thức
  • Các vòng lặp
  • Xử lý các request gửi lên bao gồm là:
    • Cách lấy dữ liệu từ FORM gửi lên thông qua phương thức GET hay là POST
    • Cách upload, lữu trữ file
  • SESSION, Cookie
  • PDO để tương tác với SQL
  • isset, empty
  • require, include, require_once, include_once

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 OOP

Sau khi nắm vững được những kỹ năng và kiến thức cơ bản về PHP thì tốt nhất bạn nên tìm hiểu và khám phá về OOP. Theo mình thấy giờ đây bất kỳ Framework, CMS, Package, Project nào viết bằng PHP cũng đều dựa trên quy mô OOP cả. Nên việc bạn nắm vững những khái niệm OOP cơ bản sẽ giúp cho bạn thuận tiện tiếp cận những Framework hay CMS cho việc làm .

Vậy thì ưu điểm của OOP là gì mà lại được ưu thích như vậy ?

  • Dễ dàng quản lý code khi có sự thay đổi chương trình.
  • Dễ mở rộng dự án.
  • Tiết kiệm được tài nguyên đáng kể cho hệ thống.
  • Có tính bảo mật cao.
  • Có tính tái sử dụng cao.

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:

  1. Tính đóng gói (Encapsulation)
  2. Tính kế thừa (Inheritance)
  3. Tính đa hình (Polymorphism)
  4. Tính trừu tượng(Abstraction)

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:

  1. Magic method trong PHP
  2. Abstract và Interface là gì?
  3. Trait là gì?
  4. Static method là gì?
  5. public, protected, private khác nhau như thế nào?
  6. self và this khác nhau như thế nào?
  7. final class là gì?

Học mô hình MVC

Sau khi đã nắm vững được về OOP rồi thì những bạn phải khám phá về quy mô MVC. Hiện tại thì đây là một quy mô mà hầu hết tổng thể những 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 những framework của nhiều ngôn từ khác đều đang sử dụng quy mô này trong việc tăng trưởng ứ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ó công dụng tàng trữ hàng loạt tài 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 biểu lộ dưới hình thức là một cơ sở tài liệu hoặc có khi chỉ đơn thuần là một file XML thông thường. Model biểu lộ rõ những thao tác với cơ sở tài liệu như được cho phép xem, truy xuất, giải quyết và xử lý tài 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 hoàn toàn có thể lấy được thông tin dữ liệu của MVC trải qua những thao tác truy vấn như tìm kiếm hoặc sử dụng trải qua những website .
Controller ( C ) :
Bộ phận có trách nhiệm giải quyết và xử lý những nhu yếu người dùng đưa đến trải qua view. Từ đó, C đưa ra tài liệu tương thích với người dùng. Bên cạnh đó, Controller còn có công dụng liên kết với Mã Sản Phẩm .

4. Học Framework/CMS

Sau 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 lúc bấy giờ 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 mở màn học Laravel thì mình thường tìm hiểu thêm nhiều nhất trên 2 trang đó là :
Ngoài ra cũng những framework dưới đây cũng được những công ty sử dụng nhiều :

  • CodeIgniter
  • Symfony
  • Zend
  • Phalcon
  • CakePHP
  • Yii
  • FuelPHP

Cũng có nhiều nơi sử dụng những CMS để tăng trưởng mạng lưới hệ thống website. Các bạn cũng hoàn toàn có thể học :

  • WordPress – thằng cu này là PHP CMS được sử dụng nhiều nhất trên thế giới. Website này cũng đang sử dụng WordPress.
  • Magento – thằng cu này mới nổi mấy năm gần đây. Trên các trang việc làm, tuyển dụng cũng nhiều bài tuyển dụng Magento Developer.
  • Joomla!
  • Drupal

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 như đinh rằng ngày mai nó không bị lật đổ bởi một công cụ khác. Thế nên là những bạn nên học thật vững PHP cơ bản. Khi có nền tảng cơ bản vững chãi rồi thì súng nào vào tay mình cũng bắn được hết .

5. Kỹ năng mềm

Thậ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:

  • Viết mail thế nào chuyên nghiệp: subject thế nào, kính thưa thế nào, signature thế nào,… là đủ.
  • Nói chuyện không cần quá hay nhưng cũng ko được ngại ngùng hay e rè quá. Giao tiếp, hỏi đáp, với mọi người trong team lưu loát, rõ ràng và thoải mái là được.
  • Đi làm đúng giờ cũng thể hiện được mình là người chuyên nghiệp

Mình thấy có 1 channel khá hay ở trên youtube. Ở đây có nhiều video về kiến thức và kỹ năng mềm mà hoàn toàn có thể bạn cần :