- Bài 1: Laravel là gì, hướng dẫn cài đặt Laravel
- Bài 2: Cấu trúc project Laravel
- Bài 3: Route trong Laravel
- Bài 4: Controller trong Laravel
- Bài 5: Quản lý bảng bằng Migrations
- Bài 6: Tạo dữ liệu mẫu với Seeding
- Bài 7: Model trong Laravel
- Bài 8: Thao tác với Database qua Eloquent Model
- Bài 9: Relationships trong Laravel
- Bài 10: View trong Laravel
- Bài 11: Blade template engine trong Laravel
- Bài 12: Truyền tham số từ Controller sang View
- Bài 13: Form Request trong Laravel
- Bài 14: Middleware trong Laravel
- Bài 15: Validation trong Laravel
- Bài 16: Tìm hiểu Authentication
Bài 10: View trong Laravel - Học lập trình Laravel
Đăng bởi: Admin | Lượt xem: 2648 | Chuyên mục: Laravel
1. Tạo view trong Laravel
View Trong Laravel thì bắt buộc phải được nằm trong thư mục resources/views và phải có đuôi là .php hoặc .blade.php (Nếu như bạn muốn sử dụng blade template). Còn việc tạo 2 file này như thế nào thì chắc hẳn các bạn cũng viết rồi.
Trong view thì các bạn có thể sử dụng tất cả các ngôn ngữ trong file PHP hỗ trợ như: HTML,CSS,JS,.. VD: Mình sẽ tạo một view có tên hello.php và một view hoclaptrinh.blade.php vào trong thư mục resources/views. File hello.php có nội dung:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>hello cac ban</title>
<link rel="stylesheet" href="">
</head>
<body>
hello cac ban!
</body>
</html>
Và trong hoclaptrinh.blade.php có nội dung:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>hello cac ban</title>
<link rel="stylesheet" href="">
</head>
<body>
{{ 'hoclaptrinh.com' }} hello cac ban!
</body>
</html>
Như ở trên các bạn thấy trong file toidicode.blade.php có sử dụng đoạn {{ 'hoclaptrinh.com'}} đây là đoạn code xử lý của blade template. Và đó cũng là lý do mình khuyên các bạn nên sử dụng phần view mở rộng của laravel.
Chú ý: Khi sử dụng kết hợp với angularjs thì không được dùng blade template.
Để tạo các thư mục con cho view thì các bạn chỉ cần tạo một thư mục nữa trong resources/views thì larver cũng chấp nhận đó là view(Cứ nằm trong thư mục resources/views là được).
VD: Trong thư mục Resources/views mình sẽ tạo thêm một thư mục admin, và trong thư mục admin mình tạo thêm một view có tên là login.blade.php có nội dung như sau:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Login</title>
<link rel="stylesheet" href="">
</head>
<body>
Đây là trang login
</body>
</html>
2. Gọi view trong Laravel
Ở phần 1 chúng ta đã tạo được view ở trong laravel rồi đúng không. Giờ chúng ta sẽ tiến hành triệu tập view trong Laravel nhé. Cú pháp:
view('duongdantoiview', 'dulieucantruyenvaoview');
Chú thích:
- duongdantoiview: Là đường dẫn tới file view lấy từ thư mục resources/views . VD như mình muốn gọi file view hello ở vd trên: view('hello'). Gọi view login trong thư mục admin view('admin.login')
- dulieutruyenvaoview: là dữ liệu mà các bạn muốn truyền vào view(nếu không có thì bỏ qua).
Gọi view trong route:
Cú pháp:
Route::get('duogndanroute', function () {
return view('tenview', 'dataneuco');
});
VD: Mình sẽ tạo 1 route rồi gọi một view và truyền luôn tham số vào bên trong cho view
Route:
Route::get('chao/{user}', function ($user) {
return view('hello-user', ['user' => $user]);
});
View: hello-user.php
<?php
echo $user;
?>
Nếu view của bạn sử dụng blade template thì sẽ có tên: hello-user.blade.php Và có nội dung như sau
{{ $user }}
Gọi view trong controller với cú pháp:
public function index()
{
return view('view', 'dataneuco');
}
3. Tạo View dùng chung
Đôi khi, bạn cần chia sẻ một thông tin cho tất cả các view sẽ hiển thị trên ứng dụng, ví dụ: hiển thị thông tin thành viên đã đăng nhập lên thanh trạng thái của các trang trong ứng dụng chẳng hạn.Chẳng lẽ cứ phải lặp đi lặp lại việc insert data trong hàm view().
Thay vào đó,Laravel có hỗ trợ cho chúng ta chia sẻ view cho toàn ứng dụng với hàm share().Để sử dụng các bạn chỉ cần thêm nó vào trong hàm boot trong file app/Providers/AppServiceProvider.php. Ví dụ:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
View::share('key', 'value');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Laravel là gì, hướng dẫn cài đặt Laravel
- Bài 2: Cấu trúc project Laravel
- Bài 3: Route trong Laravel
- Bài 4: Controller trong Laravel
- Bài 5: Quản lý bảng bằng Migrations
- Bài 6: Tạo dữ liệu mẫu với Seeding
- Bài 7: Model trong Laravel
- Bài 8: Thao tác với Database qua Eloquent Model
- Bài 9: Relationships trong Laravel
- Bài 10: View trong Laravel
- Bài 11: Blade template engine trong Laravel
- Bài 12: Truyền tham số từ Controller sang View
- Bài 13: Form Request trong Laravel
- Bài 14: Middleware trong Laravel
- Bài 15: Validation trong Laravel
- Bài 16: Tìm hiểu Authentication