Home Tutorial Laravel Laravel – Bài 12: Views

Laravel – Bài 12: Views

9 min read
0
245

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.

Hiểu Chế độ xem

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.

Virat Gandhi

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.

Virat Gandhi

Load More Related Articles
Load More By quangvu
  • Laravel – Bài 11: Error Handling

    Hầu hết các ứng dụng web đều có cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ th…
  • Laravel – Bài 16 Authentication (xác thực)

    Xác thực là quá trình xác định thông tin đăng nhập của người dùng. Trong các ứng dụng web,…
  • Laravel – Bài 15: Session

    Session được sử dụng để lưu trữ thông tin về người dùng trong các yêu cầu. Laravel cung cấ…
Load More In Laravel

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…