1. Laravel là gì?
Laravel là một framework PHP mã nguồn mở được xây dựng trên nền tảng Symfony, cung cấp một bộ công cụ và thư viện mạnh mẽ để phát triển ứng dụng web bằng cách sử dụng mẫu kiến trúc MVC.
Laravel được phát hành theo giấy phép MIT nên source code của nó được lưu trữ trên GitHub. Đây là một khung PHP đáng tin cậy vì nó tuân theo các quy tắc ngôn ngữ chính xác.
2. Define composer là gì?
Nó là trình quản lý gói application-level cho PHP. Nó cung cấp một định dạng chuẩn để quản lý các thư viện và PHP software dependency.
3. Thư mục nào được sử dụng phổ biến trong ứng dụng Laravel?
Các thư mục được sử dụng trong một ứng dụng Laravel là:
· App/: Thư mục nguồn chứa mã ứng dụng. Tất cả các bộ điều khiển, chính sách và mô hình đều nằm trong thư mục này.
· Config/: Chứa các tập tin cấu hình của ứng dụng. Chúng thường không được sửa đổi trực tiếp mà phụ thuộc vào các giá trị được thiết lập trong tệp .env (môi trường) ở thư mục gốc của ứng dụng.
· Database/: Chứa các tệp cơ sở dữ liệu, bao gồm migrations, seeds, and test factories.
· Public/: Thư mục có thể truy cập công khai, chứa các nội dung đã biên dịch và tệp index.php.
4. Phương thức get và post có gì khác nhau?
· Phương thức Get cho phép bạn gửi một lượng dữ liệu giới hạn trong tiêu đề (header)
· Post cho phép bạn gửi một lượng lớn dữ liệu trong phần body.
5. Bạn hãy cho biết cách để truyền nhiều biến từ controller sang blade?
Trong file view bạn có thể hiển thị bằng cú pháp {{ $variable }} hoặc {{ $variable }} hoặc {{ $variable }}
Ví dụ:
$variable = 'TOP';
$variable2 = 'Câu hỏi phỏng vấn Laravel';
$variable3 = 'mới nhất';
return view('frontend.index', compact('variable', 'variable2', 'variable3'));
6. Bạn truyền một tên bảng custom trong model bằng cách nào?
Ta truyền một tên bảng custom bằng cách truyền vào một biến protected $table = 'TÊN BẢNG'; trong Model.
Nếu không truyền biến $table thì Laravel sẽ mặc định theo quy tắc đặt tên là: Tên model + 's'
Ví dụ: Model là login thì tên bảng là logins.
7. Liệt kê các loại relationships trong database
Các loại mối quan hệ trong db là:
· 1 - 1
· Một nhiều (1 - n)
· Nhiều nhiều (n - n)
· Có nhiều mối quan hệ
· Quan hệ đa hình
8. Cơ sở dữ liệu được hỗ trợ bởi Laravel có những loại nào?
Laravel hỗ trợ các cơ sở dữ liệu sau:
· PostgreSQL
· Máy chủ SQL
· SQLite
· MySQL
9. PHP artisan là gì?
Một artisan PHP là một công cụ command-line của Laravel. Nó cung cấp các lệnh giúp bạn xây dựng ứng dụng Laravel mà không gặp rắc rối nào, phổ biến là các lệnh migrate, seed, make:model, make:controller, make:view, test, server,...
10. Công dụng của hàm dd() là gì?
Hàm này được sử dụng để kết xuất (render) nội dung của một biến vào trình duyệt. Dạng đầy đủ của dd là Dump and Die.
11. Bạn hãy liệt kê các lệnh thủ công (artisan commands) phổ biến được sử dụng trong Laravel
Laravel hỗ trợ các lệnh thủ công (artisan commands) sau:
· PHP artisan down;
· PHP artisan up;
· PHP artisan make:controller;
· PHP artisan make:model;
· PHP artisan make:migration;
· PHP artisan make:middleware;
12. Phân biệt delete() và softDeletes().
· delete(): xóa tất cả bản ghi khỏi bảng cơ sở dữ liệu.
· softDeletes(): Được dùng để gắn cờ bất kỳ bản ghi nào đã bị xóa. Nó không xóa dữ liệu khỏi bảng
13. Phân biệt hàm Insert() và InsertGetId() trong Laravel là gì?
· Insert(): Hàm này được sử dụng đơn giản để chèn một bản ghi (record) vào cơ sở dữ liệu. Không nhất thiết ID phải được tự động tăng.
· InsertGetId(): Hàm này cũng chèn một bản ghi vào bảng, nhưng nó được sử dụng khi trường ID tự động tăng.
14. @include trong Laravel là gì?
@include là một cách để nhúng một phần hoặc toàn bộ nội dung của view khác vào view hiện tại với nhiều tùy chọn. Người dùng cũng có thể tải nhiều tập tin trong một chế độ xem.
15. Cookie là gì?
Cookie là tệp nhỏ được gửi từ một trang web cụ thể và được trình duyệt của người dùng lưu trữ trên PC trong khi người dùng đang hoạt động trên trình duyệt.
16. Tệp nào được sử dụng để tạo kết nối với cơ sở dữ liệu?
Dùng tệp .env để tạo connection với database.
17. Response trong Laravel là gì?
Response Laravel là đối tượng đại diện cho phản hồi HTTP mà ứng dụng gửi đến trình duyệt của người dùng. Response được định nghĩa trong class Illuminate\Http\Response. Chúng ta có thể dùng đối tượng response để trả về phản hồi ở các định dạng như JSON, HTML, và file.
18. Thư mục bootstrap có tác dụng gì?
Nó được sử dụng để khởi tạo một dự án Laravel. Thư mục bootstrap này chứa tệp app.php chịu trách nhiệm khởi tạo framework.
19. Timeout mặc định của phiên là bao lâu?
Thời lượng timeout của session Laravel mặc định là 2 tiếng.
20. Làm thế nào để khôi phục migration cuối cùng?
Sử dụng cần sử dụng lệnh thủ công (artisan command) để khôi phục migration cuối cùng.