Hướng dẫn php laravel course outline - đề cương khóa học php laravel

Tại sao chọn framework Laravel cho học tập và phát triển ứng dụng web

Laravel là framework PHP ra đời 2011, được phát triển đầu tiên bởi Taylor Otwell. Framework này đã có những bước tiến thần kỳ và liên tiếp từ 2014 đến nay luôn đứng ở vị trí số 1 trong Danh sách các framework PHP hàng đầu.

Tôi biết đến Laravel từ 2014 thời kỳ Laravel đang ở phiên bản 3.x, gần như ngay lập tức bị cuốn hút bởi một framework cực kỳ đa năng nhưng rất đơn giản khi tiếp cận tìm hiểu, nghiên cứu. Bạn sẽ bắt gặp nhiều khái niệm từ .Net vì tác giả của framework này là một lập trình viên .Net kỳ cựu.

Everything Should Be Made as Simple as Possible, But Not Simpler.

Mọi thứ nên được tạo ra đơn giản nhất có thể, làm sao để nó không thể đơn giản hơn.

Albert Einstein

Phương châm này đã ảnh hưởng rất lớn đến Laravel từ người phát triển đến cộng đồng và hệ sinh thái. Sở dĩ có được vị trí số 1 hiện nay, Laravel đã làm mọi thứ phức tạp nhất theo cách đơn giản nhất. Với hệ thống tài liệu khoa học, dễ đọc và tra cứu cùng với một cộng đồng lớn, bạn sẽ không gặp khó khăn nào khi nghiên cứu nó. Laravel giữ vững được vị trí số 1 trong nhiều năm bởi đội ngũ phát triển luôn cầu tiến, tìm những gì tốt nhất, viết ra những gì đỉnh nhất tích hợp vào framework này từng ngày.

FBGroup đã sử dụng Laravel đế phát triển một loạt các website phục vụ công việc như Bigi.vn, Phukien239.vn, Adshare.vn... và ngay cả website mà bạn đang xem, All Laravel cũng được phát triển dựa trên OctoberCMS một hệ quản trị nội dung được viết trên nền tảng Laravel.

Tại sao chọn khóa học Laravel từ A đến Z miễn phí trên All Laravel

Tại thời điểm biết đến Laravel, tôi thật bất ngờ khi một nền tảng phát triển web mạnh mẽ như vậy nhưng khó tìm được các tài liệu Laravel bằng tiếng Việt. All Laravel ra đời nhằm tổng hợp các tài liệu, kiến thức và kinh nghiệm xoay quanh framework số 1 này chia sẻ các lập trình viên, nhằm tạo ra một cộng đồng Laravel ở Việt Nam để mọi người có thể trao đổi, giúp đỡ nhau.

Trước đây, All Laravel được xây dựng trên Wordpress, khá khó khăn trong phát triển các tính năng mới, chính vì vậy các anh em trong team quyết định chuyển nhà sang OctoberCMS. Với nền tảng mới All Laravel sẽ có những tính năng cần thiết nhất cho mọi người học tập, trao đổi và nghiên cứu Laravel.

Học Laravel trong 7 ngày? Tại sao không?

Thời gian đầu, Khóa học Laravel này được đặt tên và biên soạn theo cấu trúc Khóa học Laravel trong 7 ngày, thực sự đạt được nếu bạn có đam mê và quyết tâm thực hiện. Tuy nhiên, để đảm bảo được tiến độ đề ra, bạn cũng cần có một số kỹ năng nhất định khi tìm hiểu Laravel.

Kỹ năng, kiến thức cần thiết khi học Laravel

  • Kiến thức cơ bản về lập trình web bao gồm HTML 5, Javascript (ECMAScript 2015 - ES6), CSS3. Đây là những kiến thức có thể nói là không thể thiếu với bất kỳ một nhà phát triển web nào.
  • Kiến thức lập trình ngôn ngữ PHP, đương nhiên rồi vì nền tảng Laravel được viết bởi PHP.
  • Biết đến một số các framework CSS, Javascript như Bootstrap, jQuery, Vue.js, React... là một lợi thế.
  • Kiến thức về domain và hosting cần thiết khi triển khai ứng dụng web lên Internet. Môi trường phát triển cục bộ tôi vẫn hay dùng Windows còn môi trường triển khai web thì sử dụng Centos 7 (Linux).

Trên đây là một số kỹ năng cơ bản cần thiết, bạn cũng đừng quá lo lắng nếu chưa biết hết được. All Laravel cũng có tham vọng sẽ tạo ra các khóa học khác để những bạn mới có thể học tập toàn bộ những gì có liên quan đến Laravel (kể cả chỉ có một tí xíu liên quan).

Nội dung khóa học

Học Laravel từ A đến Z - Ngày thứ nhất

Framework Laravel được viết bằng ngôn ngữ PHP chạy trên nền tảng web. Do vậy trong ngày đầu tiên này chúng ta cần chuẩn bị môi trường để Laravel có thể chạy được bao gồm việc cài đặt môi trường máy chủ web.

  • Phần mềm máy chủ web Apache, Nginx
  • Phần mềm biên dịch ngôn ngữ PHP
  • Phần mềm quản trị Cơ sở dữ liệu MySQL

Sau khi đã có đầy đủ môi trường chạy được Laravel, chúng ta cần một trình soạn thảo (Sublime Text, Notepad++, Visual Studio Code... hoặc một IDE (Môi trường phát triển tích hợp) như PHPStorm...

Cuối cùng, chúng ta sẽ cài đặt Laravel và tìm hiểu các thiết lập cơ bản và một ứng dụng Hello world để khởi đầu ngày học Laravel đầu tiên.

  • Bài 1: Cài đặt Laravel dễ dàng với Laragon
  • Bài 2: Thiết lập cấu hình Laravel
  • Bài 3: Cài đặt Laravel nhanh cho hệ điều hành Windows
  • Bài 4: Laravel là gì, tại sao dùng framework Laravel?

Học Laravel từ A đến Z - Ngày thứ 2

Mô hình MVC (Model-View-Controller) được áp dụng trong rất nhiều các framework hiện nay, Laravel cũng không là ngoại lệ mặc dù khi áp dụng có những cải biến chi tiết hơn giúp cho phát triển nhanh chóng và dễ dàng trong duy trì mã nguồn.

Trong ngày thứ hai này chúng ta sẽ cùng tìm hiểu khái quát về MVC, tiếp đó là những khái niệm liên quan như Model, View, Controller và những phần kết nối giữa các thực thể này.

  • Bài 1: Laravel route định tuyến yêu cầu đến giao diện
  • Bài 2: Laravel Middleware cơ chế bộ lọc trung gian
  • Bài 3: HTTP Request trong Laravel
  • Bài 4: HTTP Response thiết lập thông tin trả về trong Laravel
  • Bài 5: Laravel Cookie lưu trữ thông tin duyệt web
  • Bài 6: MVC Pattern cần có trong mọi framework PHP

Học Laravel từ A đến Z - Ngày thứ 3

Trong ngày thứ ba của khóa học Laravel, chúng ta tiếp tục tìm hiểu về thành phần View trong mô hình MVC. Trong framework Laravel, thành phần này được tạo bởi rất nhiều các thành phần khái niệm con như View, Blade và một số các công cụ hỗ trợ xây dựng ứng dụng. Trong ngày học này chúng ta sẽ nghiên cứu Laravel Blade một cơ chế sinh nội dung web (render) cực nhanh, có tính mô đun và sử dụng rất hiệu quả trong thiết kế phần hiển thị nội dung trong ứng dụng.

  • Bài 1: Laravel view xây dựng logic trong giao diện
  • Bài 2: Laravel Blade template module hóa trong thiết kế giao diện - Phần 1
  • Bài 3: Laravel Blade template module hóa trong thiết kế giao diện - Phần 2
  • Bài 4: Laravel HTML package viết mã HTML dễ dàng
  • Bài 5: Tích hợp Bootstrap vào Laravel

Học Laravel từ A đến Z - Ngày thứ 4

Dữ liệu là phần quan trọng nhất của ứng dụng, nó được coi như bộ não của ứng dụng vậy. Laravel hỗ trợ rất nhiều các hệ quản trị cơ sở dữ liệu cũng như các định dạng dữ liệu phổ biến hiện nay như:

  • CSDL mã nguồn mở: MySQL, PostgreSQL, SQLite
  • CSDL trả phí: SQL Server, Oracle
  • CSDL No SQL: MogoDB
  • Các định dạng dữ liệu: XML, JSON

Laravel cho phép thao tác trực tiếp với các bảng dữ liệu thông qua Query Builder hoặc thực hiện ánh xạ bảng dữ liệu thành các Class trong Laravel Eloquent, với việc ánh xạ này các thao tác dữ liệu trở lên hết sức đơn giản.

  • Bài 1: Làm việc với cơ sở dữ liệu trong Laravel
  • Bài 2: Xây dựng truy vấn bằng Laravel Query Builder
  • Bài 3: Laravel Eloquent ORM phần 1: Thao tác với database qua Eloquent Model
  • Bài 4: Laravel Eloquent ORM phần 2: Xử lý database relationship
  • Bài 5: Laravel Eloquent ORM phần 3: xử lý dữ liệu đầu ra

Học Laravel từ A đến Z - Ngày thứ 5

Tiếp tục nội dung có liên quan đến CSDL, chúng ta cùng làm quen với các một số công cụ làm việc với dữ liệu có được như phân trang, thao tác dữ liệu đã lấy ra từ CSDL.

  • Bài 1: Laravel Migration và Laravel Seeding: quản lý phiên bản database
  • Bài 2: Phân trang kết quả với Laravel Pagination
  • Bài 3: Laravel Collection làm việc với tập dữ liệu lớn

Học Laravel từ A đến Z - Ngày thứ 6

Xác thực và phân quyền là tính năng cần thiết của hầu hết các ứng dụng, với framework Laravel xây dựng những tính năng này đơn giản thông qua các gói phần mềm có sẵn.

  • Bài 1: Laravel Authentication xác thực người dùng thật đơn giản
  • Bài 2: Phân quyền người dùng với Laravel Authorization
  • Bài 3: Xác thực tài khoản mới đăng ký bằng email trong Laravel
  • Bài 4: Xác thực API bằng OAuth 2 với Laravel Passport
  • Bài 5: Laravel Socialite tích hợp xác thực Facebook vào website
  • Bài 6: Laravel Socialite tích hợp xác thực Google vào website
  • Bài 7: Laravel Socialite tích hợp xác thực Twitter vào website

Học Laravel từ A đến Z - Ngày thứ 7

  • Bài 1: Laravel Artisan là gì, tại sao nói công cụ này cực hữu ích?
  • Bài 2: Các công cụ hữu ích cho debug code và kiểm thử trong Laravel