Cơ bản về Laravel – phần 1

Cơ bản về Laravel – phần 1 hướng dẫn sơ khởi về Laravel như cài xampp, composer, tạo project, controller, tạo view, routing trong laravel


Laravel là framework php rất nổi tiếng, nhiều tính năng hay, hỗ trợ tốt cho developer triển khai nhanh các dự án. Version mới nhất là Laravel 10 phát hành ngày 14/2/2023.

Mục lục


Chuẩn bị dùng Laravel

Cài đặt xampp

Tải xampp : Để máy của bạn chạy được Laravel 9+, cần có ít nhất php8+. Mời vào https://www.apachefriends.org/download_success.html để tải gói xampp chứa PHP mới nhất

Thực hiện cài xampp thì dễ thôi, tuy nhiên nếu muốn xem hướng dẫn thì vào trang này để xem: https://longnv.name.vn/lap-trinh-php-co-ban/cac-phan-mem-dan-php-can-co

Trường hợp máy của bạn đã có cài xampp rồi thì hãy xem version php đã cài là bao nhiêu để biết có thể dùng Laravel không. Xem như sau: Vào http://localhost rồi nhắp PHPInfo

PHP version sẽ hiện ở đầu trang:

Cài và sử dụng composer

Composer là chương trình miễn phí, gọn nhẹ giúp quản lý các gói thư viện trong ứng dụng web php. Bạn vào https://getcomposer.org / để tải và cài đặt, rất đơn giản chỉ việc Next vài cái là xong

Sau đây là các lệnh thường hay 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

Cài đặt gói laravel installer

Laravel Installer là gói giúp tạo project Laravel rất nhanh chóng. Để cài gói này Bạn mở command line và gõ lệnh  
composer global require laravel/installer

Project Laravel

Tạo project Laravel

Cách 1: Mở command line rồi chuyển vào folder nào đó dự định chứa project rồi chạy lệnh  composer create-project laravel/laravel myProject . Khi đó trong folder hiện hành sẽ có folder myProject

Cách 2: Mở command line rồi chuyển vào folder dự định chứa project và chạy lệnh:
laravel new myPro1

Khi đó trong folder hiện hành sẽ có folder 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.
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

Chạy project Laravel

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

Nếu trình duyệt hiện như hình sau là đúng. project Laravel đã chạy

Xem version laravel trong project

Sau khi project laravel đã được tạo, muốn xem đó là version mấy của laravel thì mở command line, chuyển vào folder project và chạy lệnh

php artisan --version

Sử dụng controller trong Laravel

Mỗi controller trong Laravel là 1 file đặt trong app/Http/Controllers . Trong file này có khai báo 1 class . Trong class đó bạn có thể định nghĩa nhiều action

Tạo controller Laravel

Trong folder  project chạy lệnh
php artisan make:controller ThuctapController

Trong folder app/Http/Controllers  sẽ có 1 file mới là ThucTapController.php

Tạo action trong controller

Action là các hàm trong controller để thực hiện 1 chức năng nào đó. Ví dụ như hàm tinhtich trong hình sau.

Sử dụng 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 lưu trong folder resources\views. Để cho view xem được view thì bạn phải nạp nó từ trong action của controller hoặc trong lúc định nghĩa route.

Khi nạp view, có thể truyền biến cho view để view hiiện giá trị của biến.

Trong Laravel có 2 loại view, đó là view thường và blade view. View thường thì tên file có đuôi là .php, ví dụ formlogin.php. Còn blade view thì file có đuôi là blade.php, ví dụ formdangky.blade.php . Blade view thì chạy nhanh hơn và hỗ trợ nhiều cú pháp hơn. Cho nên bạn cứ hãy dùng blade view.

Ví dụ: tạo resources/views/xinchao.blade.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 là việc khai báo ra các đường route trở đến các chức năng trong project. Route được tạo ra để user request đến. Mỗi route có thể nạp view để trả về cho user xem hoặc dẫn đến các action trong controller

Trong Laravel, các route được đặt trong file routes/web.php hoặc routes/api.php

Mỗi route có method http (get, post, put, delete…) và có thể có tham số trong route.

Routing nạp view

Dùng hàm Route::get hoặc Route::view

Gõ địa chỉ  http://localhost:8000/chao sẽ thấy được view:

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

Routing vào action trong controller

Routing trong routes/web.php

Http/Controllers/ThuctapController.php

Views/.cong.php

Thực tập

Tạo views

a. Tạo file resources/views/spDetail.blade.php  và code

<h1> Chi tiết sản phẩm {{ $id }} </h1>

b. Tạo file resources/views/spTrongLoai.blade.php  và code

<h1> Trang sản phẩm trong loại {{ $id }} </h1>
<p> Sản phẩm trong loại 1 </p>
<p> Sản phẩm trong loại 2 </p>
<p> Sản phẩm trong loại 3 </p>
<p> Sản phẩm trong loại 4 </p>

c. Tạo file resources/views/spNoiBat.blade.php  và code

<h2> Các sản phẩm nổi bật</h2>
<p> Sản phẩm nổi bật 1</p>
<p> Sản phẩm nổi bật 2</p>

d. Tạo file resources/views/spXemNhieu.blade.php  và code

<h2> Các sản phẩm xem nhiều</h2>
<p> Sản phẩm xem nhiều 1</p>
<p> Sản phẩm xem nhiều 2</p>
<p> Sản phẩm xem nhiều 3</p>

e. Tạo file resources/views/home.blade.php  và code

<h1> Đây là trang chủ</h1>
<hr>
@include('spNoiBat')
<hr>
@include('spXemNhieu')

Tạo routing vào các view

Mở routes/web.php và khai báo

Route::get('/', function () { return view('home');});
Route::get('/sp/{id}', function ($id=0) { return view('spDetail',['id'=>$id]);});
Route::get('/loai/{id}', function ($id=0) { return view('spTrongLoai',['id'=>$id]);});

Test : http://localhost:8000/

Test: http://localhost:8000/loai/3 

Test:  http://localhost:8000/sp/2

Tạo controller và các action

a. Tạo controller Users

Chạy lệnh sau trong folder project :
php artisan make:controller UsersController

Khi hoàn tất thì trong folder app/Http/Controllers  sẽ có 1 file mới là UsersController.php

b. Tạo action trong controller

Mờ file app/Http/Controllers/UsersController.php  và code

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UsersController extends Controller {
    public function dangky(){ return view('dangky');}
    public function dangnhap(){ return view('dangnhap');}
    public function doipass(){ return view('doipass');}
}

c. Tạo view cho các action trong controller

– Tạo file resources/views/dangky.blade.php  và code

<h1> Trang đăng ký thành viên</h1>

– Tạo file resources/views/dangnhap.blade.php  và code

<h1> Trang thành viên đăng nhập</h1>

– Tạo file resources/views/doipass.blade.php  và code

<h1> Trang đổi mật khẩi</h1>

Routing vào các action

Mở routes/web.php và code ở cuối:

Use App\Http\Controllers\UsersController;
Route::get("/dangky", [UsersController::class,'dangky']);
Route::get("/dangnhap", [UsersController::class,'dangnhap']);
Route::get("/doipass", [UsersController::class,'doipass']);

Test:

Trên đây là một số kiến thức cơ bản về Laravel – phần 1 , bài tiếp sẽ đề cập các vấn đề tiếp theo trong Laravel để bạn biết. Tài liệu chính thức của Laravel là đây: https://laravel.com/docs , bạn tham khảo thêm nếu cần.