Chào bạn! Laravel là một trong những framework hiện đại sử dụng PHP phổ biến nhất hiện nay, được sử dụng rộng rãi trong phát triển web. Dưới đây là một số câu hỏi phỏng vấn Laravel thường mà gặp kèm theo câu trả lời chi tiết.
1. Laravel là gì?
Laravel là một framework PHP mã nguồn mở, được phát triển bởi Taylor Otwell, giúp xây dựng các ứng dụng web nhanh chóng và hiệu quả. Laravel cung cấp cú pháp rõ ràng, dễ hiểu cùng với nhiều tính năng mạnh mẽ như Eloquent ORM, hệ thống Routing linh hoạt, Template Engine Blade, Middleware, và nhiều công cụ hỗ trợ khác.
2. Giải thích khái niệm Eloquent trong Laravel.
Eloquent là ORM (Object-Relational Mapping) mạnh mẽ của Laravel, giúp làm việc với cơ sở dữ liệu một cách dễ dàng bằng cách sử dụng các mô hình (models). Eloquent cho phép bạn tương tác với cơ sở dữ liệu bằng các câu lệnh đơn giản mà không cần viết truy vấn SQL phức tạp.
Ví dụ:
class User extends Model {
protected $fillable = ['name', 'email', 'password'];
}
$user = User::find(1);
$user->name = 'John Doe';
$user->save();3. Composer trong Laravel là gì?
Composer là một công cụ quản lý các thư viện và dependencies trong PHP. Laravel sử dụng Composer để tải về và quản lý các gói thư viện cần thiết.
Ví dụ, để cài đặt Laravel, bạn có thể sử dụng lệnh:
composer create-project --prefer-dist laravel/laravel myproject4. Blade template engine là gì?
Blade là hệ thống template engine của Laravel, giúp viết mã HTML dễ dàng và có thể tái sử dụng. Blade hỗ trợ các cấu trúc điều kiện, vòng lặp và phần mở rộng.
Ví dụ:
@if($user)
<p>Xin chào, {{ $user->name }}</p>
@else
<p>Chào mừng khách!</p>
@endif5. Giải thích Middleware trong Laravel.
Middleware là một cơ chế giúp lọc và xử lý request HTTP trước khi request đó đến controller. Middleware có thể được sử dụng để kiểm tra xác thực người dùng, xử lý CORS, bảo mật và nhiều tác vụ khác.
Ví dụ, middleware kiểm tra xác thực:
class CheckAgeMiddleware {
public function handle($request, Closure $next) {
if ($request->age < 18) {
return redirect('home');
}
return $next($request);
}
}6. Laravel xử lý database migrations như thế nào?
Migration trong Laravel giúp quản lý cấu trúc database bằng PHP thay vì SQL, giúp dễ dàng tạo, chỉnh sửa và xoá bảng dữ liệu.
Ví dụ, tạo migration:
php artisan make:migration create_users_tableSau đó, trong file migration:
public function up() {
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}Chạy migration:
php artisan migrate7. Mục đích của Eloquent relationships là gì?
Eloquent relationships giúp thiết lập quan hệ giữa các bảng trong cơ sở dữ liệu. Laravel hỗ trợ nhiều loại quan hệ như one-to-one, one-to-many, many-to-many.
Ví dụ, quan hệ One-to-Many:
class User extends Model {
public function posts() {
return $this->hasMany(Post::class);
}
}8. Laravel xử lý sessions như thế nào?
Laravel sử dụng session để lưu trữ thông tin người dùng qua các request khác nhau. Laravel hỗ trợ nhiều driver lưu trữ session như file, cookie, database, Redis.
Ví dụ, lưu session:
session(['key' => 'value']);Lấy dữ liệu từ session:
$value = session('key');9. Giải thích khái niệm middleware groups trong Laravel.
Middleware groups cho phép nhóm nhiều middleware lại với nhau để dễ dàng áp dụng cho route hoặc controller.
Ví dụ, định nghĩa trong Kernel.php:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
],
];10. Giải thích khái niệm Service Container trong Laravel.
Service Container là một công cụ mạnh mẽ trong Laravel để quản lý dependency injection và binding class. Nó giúp kiểm soát các instance của class và dễ dàng sử dụng trong ứng dụng.
Ví dụ, đăng ký service trong AppServiceProvider:
$this->app->bind('App\Services\PaymentService', function ($app) {
return new PaymentService();
});Sử dụng service:
$payment = app('App\Services\PaymentService');Kết Luận
Trên đây là một số câu hỏi phổ biến về Laravel giúp bạn chuẩn bị cho phỏng vấn. Laravel là một framework mạnh mẽ với nhiều tính năng hữu ích giúp việc phát triển ứng dụng web trở nên dễ dàng hơn. Hãy tiếp tục học tập và thực hành để nắm vững các khái niệm này!
Xem tiếp: Câu hỏi phỏng vấn Laravel - Phần 2








