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
- Project Laravel
- Xem version laravel trong project
- Sử dụng controller trong Laravel
- Sử dụng view trong Laravel
- Routing trong Laravel
- Thực tập
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.