Trong khung MVC, chữ “V” là viết tắt của Views . Nó phân tách logic ứng dụng và logic trình bày. Lượt xem được lưu trữ trong thư mục tài nguyên/lượt xem . Nói chung, dạng xem chứa HTML sẽ được cung cấp bởi ứng dụng.
Thí dụ
Quan sát ví dụ sau để hiểu thêm về Views :
Bước 1 – Sao chép đoạn mã sau và lưu nó tại resource/views/test.php
<html> <body> <h1>Hello, World</h1> </body> </html>
Bước 2 – Thêm dòng sau vào tệp app/Http/routes.php để đặt router cho view trên.
app/Http/routes.php
Route::get('/test', function() { return view('test'); });
Bước 3 – Truy cập URL sau để xem đầu ra của view .
http://localhost:8000/test
Bước 4 – Đầu ra sẽ xuất hiện như trong hình dưới đây.
Truyền dữ liệu cho view
Trong khi xây dựng ứng dụng, có thể được yêu cầu chuyển dữ liệu tới các view . Truyền một mảng để xem hàm trợ giúp. Sau khi truyền một mảng, chúng ta có thể sử dụng key để lấy giá trị của key đó trong tệp HTML.
Thí dụ
Quan sát ví dụ sau để hiểu thêm về cách truyền dữ liệu cho các view
Bước 1 – Sao chép đoạn mã sau và lưu nó tại resource/views/test.php
<html> <body> <h1><?php echo $name; ?></h1> </body> </html>
Bước 2 – Thêm dòng sau vào tệp app/Http/routes.php để đặt tuyến cho view trên.
app/Http/routes.php
Route::get('/test', function() { return view('test',[‘name’=>’Virat Gandhi’]); });
Bước 3 – Giá trị của tên khóa sẽ được chuyển đến tệp test.php và $name sẽ được thay thế bằng giá trị đó.
Bước 4 – Truy cập URL sau để xem đầu ra của view .
http://localhost:8000/test
Bước 5 – Đầu ra sẽ xuất hiện như trong hình dưới đây.
Chia sẻ dữ liệu với tất cả các view
Chúng tôi đã thấy cách chúng tôi có thể truyền dữ liệu cho các chế độ xem nhưng đôi khi, cần phải chuyển dữ liệu cho tất cả các view . Laravel làm cho điều này trở nên đơn giản hơn. Có một phương thức gọi là share() có thể được sử dụng cho mục đích này. Phương thức share() sẽ nhận hai đối số, khóa và giá trị. Thông thường , phương thức share() có thể được gọi từ phương thức khởi động của nhà cung cấp dịch vụ. Chúng tôi có thể sử dụng bất kỳ nhà cung cấp dịch vụ nào, AppServiceProvider hoặc nhà cung cấp dịch vụ của riêng chúng tôi.
Thí dụ
Quan sát ví dụ sau để hiểu thêm về chia sẻ dữ liệu với tất cả các chế độ xem –
Bước 1 – Thêm dòng sau vào tệp app/Http/routes.php .
app/Http/routes.php
Route::get('/test', function() { return view('test'); }); Route::get('/test2', function() { return view('test2'); });
Bước 2 – Tạo hai tệp xem – test.php và test2.php có cùng mã. Đây là hai tệp sẽ chia sẻ dữ liệu. Sao chép đoạn mã sau vào cả hai tệp. tài nguyên/lượt xem/test.php & tài nguyên/lượt xem/test2.php
<html> <body> <h1><?php echo $name; ?></h1> </body> </html>
Bước 3 – Thay đổi mã của phương thức khởi động trong tệp app/Providers/AppServiceProvider.php như hình bên dưới. (Ở đây, chúng tôi đã sử dụng phương thức chia sẻ và dữ liệu mà chúng tôi đã chuyển sẽ được chia sẻ với tất cả các view .) app/Providers/AppServiceProvider.php
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { view()->share('name', 'Virat Gandhi'); } /** * Register any application services. * * @return void */ public function register() { // } }
Bước 4 – Truy cập các URL sau.
http://localhost:8000/test http://localhost:8000/test2
Bước 5 – Đầu ra sẽ xuất hiện như trong hình dưới đây.