Thuật ngữ Laravel thường được sử dụng
Khi bắt đọc học và làm quen với Laravel Framework chắc hẳn bạn sẽ gặp không ít thuật ngữ mà mới tiếp xúc không thể nào hiểu ngay được, dưới đây là danh sách các thuật ngữ thường gặp được tổng hợp lại, hi vọng giúp ích cho các bạn mới học Laravel
Assets
Assets: hay còn gọi là public assets, là thuật ngữ để chỉ các file tài nguyên tĩnh trên được load trên trình duyệt như các file Javascript, CSS hay các file ảnh. Mặc định các file assets này nằm trong thư mục public
của ứng dụng.
Blade
Blade: là một bộ máy được sử dụng để tối ưu hoá việc tạo mẫu template cho các view trong Laravel. Các Blade view trong Laravel có đuôi file là .blade.php
để nhận biết. Nội dung của một Blade view khá là cơ bản, đơn giản chỉ là 1 file mã HTML có sử dụng các từ khoá riêng của Blade. Trong Blade, các từ khoá sử dụng có kí hiệu @
ở đầu. Ví dụ:
@if (isset($error))
<p>{{ $error->getErrors() }}</p>
@else
<p>No error found.</p>
@endif
Ngoài việc Blade sử dụng để tối ưu hoá view, Blade còn là một cú pháp rất hữu dụng để làm các việc khác, ví dụ như tạo ra các task tự động hoá trong Laravel Envoy.
Composer
Composer: là một công cụ để quản lý các thư viện PHP được sử dụng trong project Laravel. Không chỉ dùng cho mỗi Laravel framework, Composer là một công cụ quản lý chung dành cho tất cả các project sử dụng ngôn ngữ lập trình PHP.
Hãy tham khảo thêm về Composer qua bài viết Composer - Công cụ tuyệt vời dành cho PHP hoặc tại trang chủ.
"Dependency Injection"
Dependency Injection (viết tắt, DI): là một phương pháp xử lý sự phụ thuộc vào các đối tượng khác bằng cách thêm đối tượng vào trong hàm khởi tạo hoặc trong các hàm khác.
Dưới đây là một ví dụ thương thấy về DI thực hiện trong controllers của Laravel:
class PagesController extends Controller {
public function home(HomeRepositoryInterface $homeRepo) {
// ...
}
}
Dot Notation
Dot Notation: là một phương pháp hay được sử dụng trong Laravel để truy cập vào các thành phần lồng ghép vào nhau, ví dụ, lấy một giá trị trong mảng, lấy một views trong một thư mục... Như tên gọi, dấu .
được sử dụng để phân cách các level truy cập.
Ví dụ sau đây minh hoạ cho việc lấy một view tại resources/views/pages/common/contact.blade.php
,
return view('pages.common.contact');
Laravel installer
Laravel installer: là một công cụ dùng để tạo một project Laravel, thay vì sử dụng Composer create-project
.
Sử dụng Laravel installer sẽ tạo project Laravel nhanh hơn so với sử dụng Composer.
Tham khảo cách cài đặt Laravel installer tại bài viết Cài đặt Laravel.
Lifecycle
Lifecycle: dùng để chỉ vòng hoạt động của ứng dụng từ lúc khởi tạo, nhận các request xử lý và các bước quan trọng để xử lý các thao tác cần thiết để đưa ra kết quả cuối cùng.
Bạn có thể tham khảo thêm về lifecycle của Laravel tại đây.
Localization
Localization: là phương pháp chuyển đổi nội dung của trang web bằng Laravel sang các ngôn ngữ cụ thể, ví dụ như chuyển nội dung trang web sang tiếng Việt, tiếng Pháp, tiếng Hàn, tiếng Nhật ...
Trong Laravel, việc cấu hình các nội dung sang các ngôn ngữ khác nhau được thiết lập trong thư mục resources/lang
.
Middleware
Middleware: là các thao tác cần thực hiện bổ sung cho các HTTP request tới chương trình, có thể coi như là bộ lọc các dữ liệu trước khi đến và sau khi thực hiện xong của HTTP request. Ví dụ như, trước khi user truy cập vào trang nội bộ, thì sẽ có thao tác kiểm tra user đã đăng nhập hay chưa, hoặc kiểm tra xem nếu user đã đăng nhập thì có đủ quyền hạn để thực hiện xoá bài viết hay không ... Như vậy, việc sử dụng middleware đem lại lợi ích để kiểm tra dữ liệu vào ra của request, để đảm bảo được luồng dữ liệu trước khi vào xử lý trong controller hay trước khi trả về response cho trình duyệt là an toàn hay hợp lệ.
Tham khảo thêm về middleware trong mục tài liệu.
Migration
Migration: là một phương pháp xây dựng và quản lý version cho việc xây dựng cấu trúc cho database. Trong một migration, lập trình viên sẽ cần thực hiện khai báo việc tạo cấu trúc như thế nào thông qua các hàm được cung cấp trên Schema
và Blueprint
objects.
Việc sử dụng migration làm cho lập trình viên có thể dễ dàng tương tác với database hơn, thay vì phải nhớ và học các câu lệnh SQL để xây tạo các bảng, cột, index...lập trình viên có thể sử dụng OOP để tạo cấu trúc này một cách tiện lợi. Dưới đây là một ví dụ về migration,
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Ở ví dụ trên, hàm Schema::create
sẽ tạo một bảng là users
với các trường như PRIMARY KEY id INT AUTO INCREMENT
, name VARCHAR(255)
, email VARCHAR(255) UNIQUE
...
Tham khảo thêm về Laravel migration tại đây.
Package
Package: dùng để chỉ những gói thư viện PHP được phát triển độc lập thành các module nhỏ, với mục đích là để tái sử dụng trong nhiều project khác nhau. Trong PHP, các package được sử dụng và quản lý chủ yếu thông qua Composer.
Khi sử dụng để cài các package này vào project của bạn thì chúng sẽ nằm trong thư mục vendor
.
Pagination
Pagination: hay còn gọi là "phân trang" là một kĩ thuật để phân tách một mảng kết quả thành các trang khác nhau. Ngoài ra, việc phân trang còn bao gồm sinh ra mã HTML và trỏ liên kết tới các trang tiếp theo.
Paginator: ám chỉ đối tượng trong Laravel được dùng để xử lý việc phân trang. Thông thường, các Paginator kế thừa từ class Illuminate\Pagination\Paginator
hoặc Illuminate\Pagination\LengthAwarePaginator
.
Mã HTML sinh ra từ Paginator trong Laravel tương thích với Bootstrap CSS Framework.
Publish
Publish: là một thao tác của Laravel dùng để cung cấp tài nguyên được cung cấp từ các package bên ngoài vào trong ứng dụng để sử dụng. Ví dụ như file cấu hình của một package ngoài, muốn sử dụng được thì cần phải được đưa vào trong thư mục config
, chính vì thế, lập trình viên Laravel cần phải thực hiện publish.
Để publish resources từ trong package vào trong ứng dụng, bạn sẽ cần phải sử dụng câu lệnh artisan vendor:publish
.
Tham khảo mục phát triển package cho Laravel để biết thêm chi tiết.
Queue
Queue: là một phương pháp xử lý tác vụ theo nguyên tắc hàng đợi, thay vì phải xử lý trực tiếp trên trên request (điều này khiến các việc tiếp theo để xử lý request bị ngừng để chờ), thì đẩy việc xuống để làm ở background, để cho request có thể được tiếp tục xử lý. Điều này làm tối ưu hoá request và cải thiện performance cho ứng dụng web hơn.
Ví dụ: khi người dùng thực hiện đăng kí một tài khoản, thông thường thì người dùng sẽ phải chờ hơi lâu vì lúc đăng kí thì ứng dụng cần tạo dữ liệu user mới vào database, thực hiện kết nối một server để gửi email chào mừng, thực hiện gửi email xác nhận địa chỉ tới địa chỉ mail đăng kí của user, ... còn nhiều xử lý khác nữa.... Nếu mà phải xử lý hết tất cả các công việc này rồi mới trả lại response cho user, thì sẽ không tốt chút nào. Việc áp dụng queue ở đây sẽ cho phép những công việc bổ sung, như là gửi email, có thể được thực hiện tách rời ra khỏi request đang xử lý, và có thể thực hiện lúc khác, để có thể trả về response sớm cho user.
Laravel cung cấp hỗ trợ đẩy đủ các API cần thiết để làm việc với queue, hãy tham khảo mục queue trong tài liệu của Laravel.
Route
Route: mỗi route tương ứng với một URL trên trình duyệt. Mỗi route sẽ đảm nhiệm việc quản lý URL nào và thực hiện điều phối xử lý như thế nào, có thể là qua một Closure, hoặc qua một Controller.
Trong Laravel các route được khai báo trong file: app/Http/routes.php
.
Dưới đây là một ví dụ về route:
Route::get('/', function () {
return "Welcome";
});
Route::get('/about', 'PagesController@about');
Xem thêm: Laravel Routing - Toàn tập về định tuyến trong Laravel
Route Parameter
Route pamareter: là các tham số truyền trên URL, sẽ được chuyển đổi thành các tham số để thực hiện sử dụng trong controller. Các route parameter này được khai báo ở tham số thứ nhất trong khai báo route.
Ví dụ:
Route::get('/articles/{id}', 'ArticlesController@show');
Ở khai báo route trên thì {id}
là một route parameter, và khi sử dụng trong controller thì sẽ sử dụng như một đối số vào trong hàm một cách bình thường.
public function show($id) {
}
Xem thêm: Laravel Routing - Toàn tập về định tuyến trong Laravel
"Service"
"Service": dùng để chỉ các dịch vụ thực hiện một chức năng riêng mà không có mối liên quan nào trong framework, và chỉ thực hiện nhiệm vụ của nó.
Chú ý: tránh nhầm service với service provider.
Service Container
Service Container: là phương pháp mà Laravel sử dụng để quản lý các dependencies trong ứng dụng. Khi các dependencies được đăng kí vào trong container, thì bất cứ khi nào có một dependency injection được thực hiện thì container sẽ thực hiện xử lý để lấy ra đối tượng được yêu cầu.
Resolve: chỉ việc container thực hiện query để lấy ra đối tượng liên kết đã được đăng kí vào trong container.
Service Provider
Service Provider: được sử dụng để đăng kí các đối tượng được sử dụng trong Laravel, là trung tâm của việc khởi tạo trong toàn ứng dụng. Nhờ có Service Provider, mà chúng ta có thể lưu các đối tượng vào trong Laravel và lấy ra để sử dụng lúc cần thiết khi thực hiện "dependency injection".
Các service provider đều kế thừa từ class Illuminate\Support\ServiceProvider
.
Tham khảo về Service Provider tại đây.
Nguồn: petehouston/laravel-docs-vn
Ủng hộ Chung Nguyễn Blog
Chung Nguyễn Blog sử dụng FlashVPS - Dịch vụ quản trị máy chủ chuyên nghiệp để quản lý VPS
#FlashVPS là dịch vụ cloud panel trên nền tảng web hỗ trợ khách hàng:
- * Quản lý máy chủ số lượng nhiều
- * Không có kinh nghiệm quản lý máy chủ
- * Thích sử dụng giao diện web đơn giản, trực quan hơn terminal
- * Quá nhàm chán với việc ghi nhớ và lặp lại việc gõ các câu lệnh
- * Muốn tự động hóa mọi thao tác
- * Muốn tiết kiệm thời gian quản trị máy chủ
- * Muốn tiết kiệm tiền bạc, nhân lực quản trị máy chủ 👉 https://flashvps.dev
Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog hãy tặng cho Chung một LIKE nhé! Mãi yêu các bạn!
813 👍
Bình luận