Cách chuyển mảng từ bộ điều khiển sang chế độ xem trong Laravel 8

Xin chào ModestasV,

Mã trong bộ điều khiển trông như thế này

$fb = new Facebook[]; //Facebook Model
$photos = $fb->getImages[]; //return array of images from Facebook
$photos = json_encode[$photos]; //encode $photos array to JSON			   
return view['admin/facebook/latest']->with['photos',$photos];

Chế độ xem sau đó trông như thế này

name.'" style="width:200px" src="'.$photo->source.'">';
}
?>

chuyển đổi JSON trở lại thành một mảng và lặp dữ liệu để xuất hình ảnh

Mảng $photos có dạng

Array [ 
    [0] => Array [ [source] => image_source [name] => Image Name ]
    [1] => Array [ [source] => Image Source [name] => Image Name ]
]

Chúc mừng

Tất nhiên, việc trả lại toàn bộ chuỗi tài liệu HTML trực tiếp từ các tuyến đường và bộ điều khiển của bạn là không thực tế. Rất may, chế độ xem cung cấp một cách thuận tiện để đặt tất cả HTML của chúng tôi vào các tệp riêng biệt

Chế độ xem tách logic bộ điều khiển/ứng dụng của bạn khỏi logic trình bày của bạn và được lưu trữ trong thư mục

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

5. Khi sử dụng Laravel, các mẫu xem thường được viết bằng ngôn ngữ tạo khuôn mẫu Blade. Một cái nhìn đơn giản có thể trông giống như thế này

Vì chế độ xem này được lưu trữ tại

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

6, nên chúng tôi có thể trả lại nó bằng cách sử dụng trình trợ giúp toàn cầu

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

7 như vậy

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

Ghi chú
Tìm kiếm thêm thông tin về cách viết các mẫu Blade?

Viết lượt xem trong React / Vue

Thay vì viết các mẫu giao diện người dùng của họ bằng PHP thông qua Blade, nhiều nhà phát triển đã bắt đầu thích viết các mẫu của họ bằng React hoặc Vue. Laravel làm cho điều này trở nên dễ dàng nhờ vào Inertia, một thư viện giúp bạn dễ dàng kết nối giao diện người dùng React / Vue của bạn với phần phụ trợ Laravel của bạn mà không gặp phải sự phức tạp điển hình của việc xây dựng một SPA

Bộ khởi động Breeze và Jetstream của chúng tôi cung cấp cho bạn một điểm khởi đầu tuyệt vời cho ứng dụng Laravel tiếp theo của bạn được hỗ trợ bởi Inertia. Ngoài ra, Laravel Bootcamp cung cấp một minh họa đầy đủ về việc xây dựng một ứng dụng Laravel được hỗ trợ bởi Inertia, bao gồm các ví dụ trong Vue và React

Tạo và hiển thị chế độ xem

Bạn có thể tạo chế độ xem bằng cách đặt một tệp có phần mở rộng

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

8 trong thư mục

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

5 của ứng dụng của bạn. Tiện ích mở rộng

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

8 thông báo cho khung rằng tệp chứa mẫu Blade. Các mẫu Blade chứa HTML cũng như các chỉ thị Blade cho phép bạn dễ dàng lặp lại các giá trị, tạo các câu lệnh "nếu", lặp lại dữ liệu, v.v.

Khi bạn đã tạo chế độ xem, bạn có thể trả lại chế độ xem đó từ một trong các tuyến hoặc bộ điều khiển của ứng dụng bằng cách sử dụng trình trợ giúp

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

7 toàn cầu

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

Lượt xem cũng có thể được trả lại bằng cách sử dụng mặt tiền

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

Như bạn có thể thấy, đối số đầu tiên được chuyển đến trình trợ giúp

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

7 tương ứng với tên của tệp xem trong thư mục

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

5. Đối số thứ hai là một mảng dữ liệu sẽ được cung cấp cho chế độ xem. Trong trường hợp này, chúng tôi đang chuyển biến

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

5, được hiển thị trong chế độ xem bằng cú pháp Blade

Thư mục xem lồng nhau

Lượt xem cũng có thể được lồng trong các thư mục con của thư mục

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

5. Ký hiệu "Dấu chấm" có thể được sử dụng để tham chiếu các chế độ xem lồng nhau. Ví dụ: nếu chế độ xem của bạn được lưu trữ tại

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

7, bạn có thể trả lại chế độ xem đó từ một trong các tuyến/bộ điều khiển của ứng dụng của mình như vậy

return view['admin.profile', $data];

Cảnh báo
Xem tên thư mục không được chứa ký tự

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

8

Tạo Chế độ xem có sẵn đầu tiên

Sử dụng phương pháp

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

0 của mặt tiền

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2, bạn có thể tạo chế độ xem đầu tiên tồn tại trong một mảng chế độ xem nhất định. Điều này có thể hữu ích nếu ứng dụng hoặc gói của bạn cho phép chế độ xem được tùy chỉnh hoặc ghi đè

use Illuminate\Support\Facades\View;

return View::first[['custom.admin', 'admin'], $data];

Xác định xem có tồn tại chế độ xem không

Nếu bạn cần xác định xem có tồn tại chế độ xem hay không, bạn có thể sử dụng mặt tiền

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2. Phương thức

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

2 sẽ trả về

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

3 nếu chế độ xem tồn tại

use Illuminate\Support\Facades\View;

if [View::exists['emails.customer']] {

Truyền dữ liệu cho lượt xem

Như bạn đã thấy trong các ví dụ trước, bạn có thể chuyển một mảng dữ liệu tới dạng xem để cung cấp dữ liệu đó cho dạng xem

return view['greetings', ['name' => 'Victoria']];

Khi truyền thông tin theo cách này, dữ liệu phải là một mảng với các cặp khóa/giá trị. Sau khi cung cấp dữ liệu cho một chế độ xem, bạn có thể truy cập từng giá trị trong chế độ xem của mình bằng cách sử dụng các khóa của dữ liệu, chẳng hạn như

Để thay thế cho việc chuyển một mảng dữ liệu hoàn chỉnh đến hàm trợ giúp

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

7, bạn có thể sử dụng phương thức

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

5 để thêm các phần dữ liệu riêng lẻ vào dạng xem. Phương thức

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

5 trả về một thể hiện của đối tượng dạng xem để bạn có thể tiếp tục xâu chuỗi các phương thức trước khi trả lại dạng xem

->with['name', 'Victoria']

->with['occupation', 'Astronaut'];

Chia sẻ dữ liệu với tất cả các chế độ xem

Đôi khi, bạn có thể cần chia sẻ dữ liệu với tất cả các chế độ xem được hiển thị bởi ứng dụng của bạn. Bạn có thể làm như vậy bằng cách sử dụng phương thức

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

8 của mặt tiền

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2. Thông thường, bạn nên thực hiện cuộc gọi đến phương thức

use Illuminate\Support\Facades\View;

return View::make['greeting', ['name' => 'James']];

8 trong phương thức

return view['admin.profile', $data];

0 của nhà cung cấp dịch vụ. Bạn có thể tự do thêm chúng vào lớp

return view['admin.profile', $data];

1 hoặc tạo một nhà cung cấp dịch vụ riêng để chứa chúng

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider

* Register any application services.

* Bootstrap any application services.

View::share['key', 'value'];

Xem nhà soạn nhạc

Trình tổng hợp chế độ xem là các cuộc gọi lại hoặc phương thức lớp được gọi khi chế độ xem được hiển thị. Nếu bạn có dữ liệu mà bạn muốn liên kết với một chế độ xem mỗi khi chế độ xem đó được hiển thị, trình tổng hợp chế độ xem có thể giúp bạn sắp xếp logic đó vào một vị trí duy nhất. Chế độ xem có thể đặc biệt hữu ích nếu cùng một chế độ xem được trả về bởi nhiều tuyến hoặc bộ điều khiển trong ứng dụng của bạn và luôn cần một phần dữ liệu cụ thể

Thông thường, trình soạn thảo chế độ xem sẽ được đăng ký trong một trong các nhà cung cấp dịch vụ của ứng dụng của bạn. Trong ví dụ này, chúng tôi sẽ giả sử rằng chúng tôi đã tạo một

return view['admin.profile', $data];

2 mới để chứa logic này

Chúng tôi sẽ sử dụng phương pháp

return view['admin.profile', $data];

4 của mặt tiền

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2 để đăng ký trình soạn thảo chế độ xem. Laravel không bao gồm một thư mục mặc định cho các trình soạn thảo chế độ xem dựa trên lớp, vì vậy bạn có thể tự do sắp xếp chúng theo cách bạn muốn. Ví dụ: bạn có thể tạo một thư mục

return view['admin.profile', $data];

5 để chứa tất cả các trình soạn thảo chế độ xem ứng dụng của bạn

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

0

Cảnh báo
Hãy nhớ rằng, nếu bạn tạo một nhà cung cấp dịch vụ mới để chứa đăng ký trình soạn thảo chế độ xem của mình, bạn sẽ cần thêm nhà cung cấp dịch vụ vào mảng

return view['admin.profile', $data];

6 trong tệp cấu hình

return view['admin.profile', $data];

7

Bây giờ chúng ta đã đăng ký nhà soạn nhạc, phương thức

return view['admin.profile', $data];

8 của lớp

return view['admin.profile', $data];

9 sẽ được thực thi mỗi khi chế độ xem

use Illuminate\Support\Facades\View;

return View::first[['custom.admin', 'admin'], $data];

0 được hiển thị. Hãy xem một ví dụ về lớp nhà soạn nhạc

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

1

Như bạn có thể thấy, tất cả các trình soạn thảo chế độ xem được giải quyết thông qua bộ chứa dịch vụ, vì vậy bạn có thể nhập gợi ý bất kỳ phụ thuộc nào bạn cần trong hàm tạo của trình soạn thảo

Đính kèm một nhà soạn nhạc vào nhiều chế độ xem

Bạn có thể đính kèm một trình tổng hợp chế độ xem vào nhiều chế độ xem cùng một lúc bằng cách chuyển một mảng chế độ xem làm đối số đầu tiên cho phương thức

return view['admin.profile', $data];

4

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

2

Phương thức

return view['admin.profile', $data];

4 cũng chấp nhận ký tự

use Illuminate\Support\Facades\View;

return View::first[['custom.admin', 'admin'], $data];

3 làm ký tự đại diện, cho phép bạn đính kèm một nhà soạn nhạc vào tất cả các chế độ xem

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

3

Xem người sáng tạo

Chế độ xem "người sáng tạo" rất giống với chế độ xem nhà soạn nhạc; . Để đăng ký người tạo chế độ xem, hãy sử dụng phương thức

use Illuminate\Support\Facades\View;

return View::first[['custom.admin', 'admin'], $data];

4

Route::get['/', function [] {

return view['greeting', ['name' => 'James']];

4

Tối ưu hóa Chế độ xem

Theo mặc định, các chế độ xem mẫu Blade được biên dịch theo yêu cầu. Khi một yêu cầu được thực hiện để hiển thị một chế độ xem, Laravel sẽ xác định xem có tồn tại phiên bản đã biên dịch của chế độ xem hay không. Nếu tệp tồn tại, thì Laravel sẽ xác định xem chế độ xem chưa biên dịch có được sửa đổi gần đây hơn chế độ xem đã biên dịch hay không. Nếu chế độ xem đã biên dịch không tồn tại hoặc chế độ xem chưa biên dịch đã bị sửa đổi, Laravel sẽ biên dịch lại chế độ xem

Biên dịch các khung nhìn trong khi yêu cầu có thể có tác động tiêu cực nhỏ đến hiệu suất, vì vậy Laravel cung cấp lệnh Artisan

use Illuminate\Support\Facades\View;

return View::first[['custom.admin', 'admin'], $data];

5 để biên dịch trước tất cả các khung nhìn được sử dụng bởi ứng dụng của bạn. Để tăng hiệu suất, bạn có thể muốn chạy lệnh này như một phần của quy trình triển khai của mình

Làm cách nào để chuyển một mảng từ bộ điều khiển sang chế độ xem trong Laravel?

Có 4 cách gửi dữ liệu để xem. - .
Sử dụng hàm mảng. mảng[]
Sử dụng chức năng thu gọn. gọn nhẹ[]
Sử dụng với. với[[]]
Sử dụng với tên biến. withName[]

Làm cách nào để chuyển dữ liệu từ bộ điều khiển sang chế độ xem trong Laravel 8?

Giới thiệu .
Tạo một dự án laravel với trình soạn thảo hoặc trình cài đặt laravel. laravel Dataparse mới
Tạo các tuyến đường của bạn trên web. tập tin php. Tuyến đường. get['/users', [ProductController. lớp, 'chỉ mục']];.
Tạo bộ điều khiển của bạn bằng lệnh php artisan. nghệ nhân php làm. bộ điều khiển ProductController

Làm cách nào để truyền dữ liệu mảng trong Laravel?

Bạn có thể sử dụng hàm serialize[] và urlencode PHP tích hợp để truyền một mảng dưới dạng tham số URL . Hàm serialize[] sẽ trả về một chuỗi bit cho đầu vào đã cho và urlencode sẽ mã hóa lại các giá trị cũng như các ký tự đặc biệt có sẵn trong đó.

Làm cách nào để chuyển dữ liệu để xem trong Laravel?

Laravel cung cấp nhiều cách khác nhau để truyền dữ liệu tới một dạng xem. .
Sử dụng chế độ xem[]
Sử dụng với[]
Sử dụng nhỏ gọn[]
Sử dụng lớp điều khiển

Chủ Đề