Làm quen với Laravel framework – Thầy Long Web

Làm quen với Laravel framework là bài hướng dẫn cơ bản về Laravel như tạo project, cấu trúc file, controller, routing, view…

Giới thiệu các php framework

Các PHP framework là các nền tảng open source viết bằng PHP, được tạo ra để giúp bạn phát triển các ứng dụng web nhanh chóng hơn. Các PHP Framework thường ứng dụng mô hình MVC, OOP. 

Đội ngũ phát triển framework cũng thường tạo sẵn các class, quy ước cấu trúc folder, tên biến và các chức năng cơ bản. Nhờ đó giúp bạn và team tiết kiệm được thời gian triển khai dự án, code sẽ ổn định hơn, hạn chế viết lại mã.

Hiện có nhiều PHP Framework như Laravel, CakePHP, CodeIgnitor, Yii, Kohana, Phalcon, Zend, Slim, PHPixie…

php frameworka

Giới thiệu về Laravel

Laravel là php framrework rất tốt, ra đời vào 2011, tài liệu đầy đủ, dễ hiểu và nhiều ưu điểm hấp dẫn. Nhờ đó Laravel thuyết phục được rất nhiều lập trình viên sử dụng để phát triển các dự án. Website chính thức của Laravel là : http://laravel.com/

Các tính năng nổi bật của Laravel

Hỗ trợ lập trình MVC

Laravel hỗ trợ phát triển website theo mô hình MVC. Sử dụng MVC trong Laravel rất dễ dàng, linh động, uyển chuyển

Query Builder và Eloquent ORM

Đây là hai công cụ có sẵn trong Laravel giúp tương tác với database rất dễ dàng , đơn giản. Khi sử dụng bạn sẽ thích chúng.

Blade Template

Laravel tích hợp sẵn Blade Template Engine. Đây là công cụ giúp tạo layout và các view rất uyển chuyển và mạnh mẽ.

Artisan

Artisan là công cụ dòng lệnh có sẵn trong Laravel.Nó sẽ là 1 trợ thủ đắc lực cho bạn trong quá trình phát triển dự án với Laravel. Như giúp chạy project, tạo controller, model, mrigration, seeder….

artisan

Authentication

Dự án nào bạn cũng phải triển khai Authentication . Authentication trong Laravel giúp tạo các chức năng đăng ký, đăng nhập, đổi mật khẩu, quên mật khẩu, kiểm tra đăng nhập…rất nhanh chóng và đơn giản.

Security

Laravel hỗ trợ thuật toán Brcypt giúp mã hóa password, hỗ trợ phát sinh các CSRF token dùng trong các form để chống tấn công giả mạo CSRF. Laravel còn hỗ trợ tính năng Routing protected (bảo vệ các route) . Hỗ trợ Encryption – mã hóa và giải mã dữ liệu…

Giới thiệu về Composer

Composer là một chương trình open source miễn phí, nó giúp bạn quản lý các gói thư viện trong ứng dụng web. Nhờ composer mà bạn sẽ tiết kiệm nhiều thời gian và công sức trong việc bổ sung / cập nhật/ gỡ bỏ các gói thư việc trong project của mình. Khi cần cài thư viện nào, bạn chỉ cần khai báo, composer sẽ tự động tải chúng về thông qua một server cộng đồng.

Tóm lại, Composer giúp bạn quản lý thư viện một cách chuyên biệt từng project tương tự như npm của NodeJS hay Bundler của Ruby

Mọi thiết lập Composer cho project đều chứa trong file composer.json của folder project.

Download chương trình composer

Vào http://getcomposer.org/để thực hiện

Cài đặt composer

Chạy file composer đã download. Trong quá trình cài, nhớ khai báo đúng đường dẫn của chương trình php.exe, ngoài ra không có gì đặc biệt.

Cài đặt composer

Sau khi cài xong, bạn có thể mở composer bằng cách gõ lệnh composer từ command line.

Các lệnh thường dùng trong composer

  • Xem version của composer:   composer –V
  • Xem hướng dẫn sử dụng: composer -h
  • Cập nhật các gói thư viện trong project: composer update
  • Cài thêm thư viện vào project : composer require symfony/mailer
  • Xóa thư viện khỏi project : composer remove monolog/monolog
  • Tìm các gói thư viện:   composer search mail

Bạn có thể tìm các thư viện tại:  https://packagist.org/

Tạo project Laravel

Khi bắt đầu làm quen với Laravel framework, đây là việc quan trọng nhất cần biết. 🙂 Vậy tạo project thế nào? Mở command line, chuyển vào folder chứa project rồi gõ lệnh:

composer create-project laravel/laravel myProject

Trong đó myProject là tên folder project của bạn. Khi hoàn tất, sẽ thấy chữ Application key set successfully.

Chạy project Laravel

  • Vào folder project và chạy lệnh php artisan serve
  • Xong mở mở trình duyệt và gõ http://localhost:8000


Sử dụng gói Laravel Installer

Ngoài cách dùng lệnh create-project , có thể tạo project Laravel bằng cách dùng gói Laravel Installer.
Bạn cài đặt gói Lavavel Installer vào máy bằng cách mở command line và gõ lệnh:

 composer global require laravel/installer

Tạo project với Laravel Installer:

laravel new myPro1

Cấu trúc file và folder trong project laravel

  • app: chứa controller, model, middeware…
  • bootstrap: chứa file khởi động framework…
  • config: chứa các file cấu hình db, mail, session…
  • database: các file quản lý db như migration, seeder…
  • public: chứa file index.php như cổng vào cho tất cả các request đến project.
  • resources: chứa các file views, css, js…
  • routes: chứa các file route trong project như: web.php, api.php, console.php
  • storage: chứa các file cache, session, log… sinh ra trong quá trình thực thi project.
  • tests: chứa các file tests
  • vendor: các thư viện dùng trong laravel
  • .env : file cấu hình chính của Laravel
  • artisan: công cụ artisan của Laravel

Tạo controller trong Laravel

Mỗi controller là 1 file đặt trong app/Http/Controllers . Trong file này có khai báo 1 class kế thừa từ controller gốc của Laravel. Trong class , bạn có thể định nghĩa nhiều hàm (mỗi hàm gọi là 1 action)
Để tạo controller, dùng lệnh sau:

php artisan make:controller ThuctapController

Trong đó ThuctapController là tên controller muốn tạo



Tạo action trong controller

Action là các hàm định nghĩa trong controller để thực hiện một chức năng nào đó cho người dùng. Ví dụ: tạo action trả về tích của 2 số

View trong Laravel

View là file chứa code html, css, js, php và dữ liệu cho user xem. Mỗi view là 1 file được lưu trong folder resources\views
Bạn có thể nạp file view từ trong action của controller hoặc trong route. Khi nạp view, có thể truyền biến cho view. Ví dụ: tạo views/xinchao.php


<p>
Hôm nay là ngày <?=date('d/m/Y')?><br/>
<b> Kính chào quý khách</b>
</p>

Routing trong Laravel

  • Routing trong Laravel là chức năng dùng để khai báo các route (đường dẫn), đưa user đến các chức năng trong project
  • Người xem gọi đến các chức năng trong project thông qua các route đã khai báo trong project.
  • Các route được khai báo trong file routes/web.php của project
  • Mỗi route có thể trực tiếp nạp view hoặc dẫn đến các action trong controller
  • Mỗi route có method http và có thể có tham số

a. Routing nạp view

Routing nạp view: dùng Route::get hoặc Route::view

hoặc

Request chao http://localhost:8000/chao sẽ thấy được view:

b. Routing nạp view và truyền tham số

Có thể truyền tham số cho view qua 1 mảng. Ví dụ:

hoặc

Views/chuc.php


c. Routing vào action trong controller

Routing trong routes/web.php

Http/Controllers/ThuctapController.php

Views/.cong.php


Mời bạn xem thêm các link:

  • Sử dụng routing: https://laravel.com/docs/routing
  • Tạo và sử dụng view: https://laravel.com/docs/views
  • Sử dụng artisan: https://laravel.com/docs/artisan

Bài Làm quen với Laravel framework cung cấp đến bạn nhiều kiến thức: Laravel là gì, các đặc điểm nổu bật, tạo project, composer, tạo controller, tạo view, tạo routing…Thôi dừng hé 🙂