Cách gọi hàm JavaScript trong bộ điều khiển Laravel
Ký hiệu "Chấm" có thể được sử dụng để tham chiếu các chế độ xem lồng nhau. Quyền Dưới đây, dữ liệu sẽ hiển thị trên public function show(Permission $permission) 2 Show
public function show(Permission $permission) Đừng mắc lỗi này trong bộ sưu tập LaravelTránh sử dụng chức năng trống trong bộ sưu tập LaravelBlog. thiên tài. io Truyền một biến PHP cho JavaScriptNhưng trong một số trường hợp, bạn muốn chuyển một số var phía máy chủ sang JavaScript. Ví dụ: yêu cầu một số giá trị cho phân tích. Chúng ta có thể chuyển các biến bằng cách sử dụng gói Transform PHP Vars to JavaScript. Ngoài ra, chúng tôi có thể làm mà không cần sử dụng gói này
1. không có gói. Sử dụng kết xuất JSONTrong Laravel sẽ được dùng để khởi tạo một biến JavaScript Thí dụBây giờ hãy thêm dữ liệu mảng vào tuyến ứng dụng. Mảng page_data này chúng ta cần sử dụng làm JavaScript Route::get('/', function () { Thêm Js bên dưới. từ trong chế độ xem chào mừng public function show(Permission $permission) 3mở trình duyệt và kiểm tra page_data trong bảng điều khiển Ngừng sử dụng DateTime trong PHPTại sao chúng ta cần sử dụng DateTime không thay đổi trong PHP?Blog. thiên tài. io 2. Sử dụng Chuyển đổi PHP Vars sang gói JavaScriptCài đặt gói thông qua Composer composer require laracasts/utilities Thêm gói vào nhà cung cấp public function show(Permission $permission) 4________số 8_______Tạo HomeController và gọi chế độ xem chào mừng public function show(Permission $permission) 5namespace App\Http\Controllers;use App\Http\Controllers\Controller; Ngoài ra, cập nhật các tuyến đường/web. php để gọi HomeController Route::get('/', [HomeController::class, 'index']); Theo mặc định, gói này liên kết các biến JavaScript của bạn với chế độ xem "chân trang". Vì vậy, hãy tạo tệp lưỡi cắt chân trang trống và đưa nó vào chế độ xem chào mừng public function show(Permission $permission) 6Bạn có thể thay đổi chế độ xem chân trang bằng cách xuất bản cấu hình mặc định. Sau đó cập nhật giá trị cấu hình ‘bind_js_vars_to_this_view’ trên tệp public function show(Permission $permission) 7php artisan vendor:publish --provider="Laracasts\Utilities\JavaScript\JavaScriptServiceProvider" public function show(Permission $permission) 3public function show(Permission $permission) 0Bây giờ tiêu đề và giá có sẵn trên đối tượng cửa sổ Phần kết luậnSử dụng gói Biến đổi PHP Vars thành JavaScript nếu biến PHP được yêu cầu trên JavaScript trên hầu hết các trang. Nếu bạn cần một hoặc hai trang, hãy sử dụng phương thức Laravel Thay vì xác định tất cả logic xử lý yêu cầu của bạn dưới dạng bao đóng trong tệp tuyến đường, bạn có thể tổ chức hành vi này bằng cách sử dụng các lớp "bộ điều khiển". Bộ điều khiển có thể nhóm logic xử lý yêu cầu liên quan thành một lớp duy nhất. Ví dụ: một lớp 0 có thể xử lý tất cả các yêu cầu đến liên quan đến người dùng, bao gồm hiển thị, tạo, cập nhật và xóa người dùng. Theo mặc định, bộ điều khiển được lưu trữ trong thư mục 1Bộ điều khiển viếtBộ điều khiển cơ bảnHãy xem một ví dụ về bộ điều khiển cơ bản. Lưu ý rằng bộ điều khiển mở rộng lớp bộ điều khiển cơ sở có trong Laravel. 2
Bạn có thể xác định tuyến đường đến phương thức điều khiển này như vậy
Khi một yêu cầu đến khớp với URI tuyến đường đã chỉ định, phương thức 3 trên lớp 4 sẽ được gọi và các tham số tuyến đường sẽ được truyền cho phương thức
Bộ điều khiển hành động đơn lẻNếu một hành động của bộ điều khiển đặc biệt phức tạp, bạn có thể thấy thuận tiện khi dành toàn bộ lớp bộ điều khiển cho hành động đơn lẻ đó. Để thực hiện điều này, bạn có thể định nghĩa một phương thức 7 duy nhất trong bộ điều khiển
Khi đăng ký định tuyến cho bộ điều khiển hành động đơn lẻ, bạn không cần chỉ định phương thức điều khiển. Thay vào đó, bạn có thể chỉ cần chuyển tên của bộ điều khiển cho bộ định tuyến
Bạn có thể tạo một bộ điều khiển không thể triệu hồi bằng cách sử dụng tùy chọn 8 của lệnh 9 Artisan
Phần mềm trung gian điều khiểnPhần mềm trung gian có thể được gán cho các tuyến của bộ điều khiển trong các tệp tuyến của bạn
Hoặc, bạn có thể thấy thuận tiện khi chỉ định phần mềm trung gian trong hàm tạo của bộ điều khiển của mình. Sử dụng phương thức 5 trong hàm tạo của bộ điều khiển, bạn có thể gán phần mềm trung gian cho các hành động của bộ điều khiển
Bộ điều khiển cũng cho phép bạn đăng ký phần mềm trung gian bằng cách sử dụng bao đóng. Điều này cung cấp một cách thuận tiện để xác định phần mềm trung gian nội tuyến cho một bộ điều khiển mà không cần xác định toàn bộ lớp phần mềm trung gian
Bộ điều khiển tài nguyênNếu bạn coi mỗi mô hình Eloquent trong ứng dụng của mình là một "tài nguyên", thì thông thường bạn sẽ thực hiện cùng một nhóm hành động đối với từng tài nguyên trong ứng dụng của mình. Ví dụ: hãy tưởng tượng ứng dụng của bạn chứa mô hình 1 và mô hình 2. Có khả năng người dùng có thể tạo, đọc, cập nhật hoặc xóa các tài nguyên nàyDo trường hợp sử dụng phổ biến này, định tuyến tài nguyên Laravel chỉ định các tuyến tạo, đọc, cập nhật và xóa ("CRUD") điển hình cho bộ điều khiển với một dòng mã. Để bắt đầu, chúng ta có thể sử dụng tùy chọn 4 của lệnh Artisan để nhanh chóng tạo bộ điều khiển để xử lý các hành động này
Lệnh này sẽ tạo bộ điều khiển tại 5. Bộ điều khiển sẽ chứa một phương thức cho từng hoạt động tài nguyên có sẵn. Tiếp theo, bạn có thể đăng ký một tuyến tài nguyên trỏ đến bộ điều khiển
Khai báo tuyến đơn này tạo nhiều tuyến để xử lý nhiều hành động khác nhau trên tài nguyên. Bộ điều khiển được tạo sẽ có sẵn các phương thức cho từng hành động này. Hãy nhớ rằng, bạn luôn có thể xem tổng quan nhanh về các tuyến ứng dụng của mình bằng cách chạy lệnh 6 ArtisanBạn thậm chí có thể đăng ký nhiều bộ điều khiển tài nguyên cùng một lúc bằng cách chuyển một mảng tới phương thức 7 0Các hành động được xử lý bởi bộ điều khiển tài nguyênVerbURIActionRoute NameGET 8indexphotos. chỉ mụcGET____32_______9tạo ảnh. tạoPOST______32_______8ảnh cửa hàng. cửa hàngGET____34_______1hiển thị ảnh. showGET_______34_______2chỉnh sửa ảnh. chỉnh sửaPUT/PATCH 1cập nhật ảnh. cập nhậtXÓA 1hủy ảnh. hủy hoạiTùy chỉnh hành vi mô hình bị thiếuThông thường, phản hồi HTTP 404 sẽ được tạo nếu không tìm thấy mô hình tài nguyên bị ràng buộc ngầm. Tuy nhiên, bạn có thể tùy chỉnh hành vi này bằng cách gọi phương thức 5 khi xác định lộ trình tài nguyên của mình. Phương thức 5 chấp nhận một bao đóng sẽ được gọi nếu không thể tìm thấy một mô hình ràng buộc ngầm cho bất kỳ tuyến nào của tài nguyên 1Mô hình đã xóa mềmThông thường, liên kết mô hình ẩn sẽ không truy xuất các mô hình đã được và thay vào đó sẽ trả về phản hồi HTTP 404. Tuy nhiên, bạn có thể hướng dẫn khung cho phép các mô hình bị xóa mềm bằng cách gọi phương thức 7 khi xác định tuyến tài nguyên của bạn 2Gọi 7 không có đối số sẽ cho phép các mô hình bị xóa mềm cho các tuyến tài nguyên 3, 0 và 1. Bạn có thể chỉ định một tập hợp con của các route này bằng cách chuyển một mảng tới phương thức 7 3Chỉ định Mô hình Tài nguyênNếu bạn đang sử dụng và muốn các phương thức của bộ điều khiển tài nguyên gõ gợi ý một phiên bản mô hình, bạn có thể sử dụng tùy chọn 3 khi tạo bộ điều khiển 4Tạo yêu cầu biểu mẫuBạn có thể cung cấp tùy chọn 4 khi tạo bộ điều khiển tài nguyên để hướng dẫn Artisan tạo các phương thức cập nhật và lưu trữ của bộ điều khiển 5Định tuyến tài nguyên một phầnKhi khai báo một tuyến tài nguyên, bạn có thể chỉ định một tập hợp con các hành động mà bộ điều khiển sẽ xử lý thay vì toàn bộ các hành động mặc định 6Định tuyến tài nguyên APIKhi khai báo các tuyến tài nguyên sẽ được API sử dụng, thông thường bạn sẽ muốn loại trừ các tuyến trình bày các mẫu HTML, chẳng hạn như 5 và 0. Để thuận tiện, bạn có thể sử dụng phương pháp 7 để tự động loại trừ hai tuyến đường này 7Bạn có thể đăng ký nhiều bộ điều khiển tài nguyên API cùng một lúc bằng cách chuyển một mảng tới phương thức 8 8Để nhanh chóng tạo bộ điều khiển tài nguyên API không bao gồm các phương thức 5 hoặc 0, hãy sử dụng công tắc 1 khi thực hiện lệnh 9 9Tài nguyên lồng nhauĐôi khi bạn có thể cần xác định các tuyến đến một tài nguyên lồng nhau. Ví dụ: tài nguyên ảnh có thể có nhiều nhận xét có thể được đính kèm với ảnh. Để lồng các bộ điều khiển tài nguyên, bạn có thể sử dụng ký hiệu "dấu chấm" trong phần khai báo tuyến đường của mình 0Tuyến đường này sẽ đăng ký một tài nguyên lồng nhau có thể được truy cập bằng các URI như sau 1Phạm vi tài nguyên lồng nhauTính năng của Laravel có thể tự động khoanh vùng các liên kết lồng nhau sao cho mô hình con đã giải quyết được xác nhận thuộc về mô hình mẹ. Bằng cách sử dụng phương pháp 3 khi xác định tài nguyên lồng nhau của bạn, bạn có thể bật phạm vi tự động cũng như hướng dẫn Laravel trường nào tài nguyên con sẽ được truy xuất bởi. Để biết thêm thông tin về cách thực hiện điều này, vui lòng xem tài liệu vềLàm tổ nôngThông thường, không nhất thiết phải có cả ID cha và ID con trong một URI vì ID con đã là một mã định danh duy nhất. Khi sử dụng các mã định danh duy nhất, chẳng hạn như các khóa chính tăng dần tự động để xác định các mô hình của bạn trong các phân đoạn URI, bạn có thể chọn sử dụng "lồng nhau nông" 2Định nghĩa tuyến đường này sẽ xác định các tuyến đường sau VerbURIActionRoute NameGET 4indexphotos. bình luận. chỉ mụcGET____40_______5tạo ảnh. bình luận. tạoPOST______40_______4ảnh cửa hàng. bình luận. cửa hàngGET____40_______7hiển thịbình luận. showGET_______40_______8chỉnh sửa. chỉnh sửaPUT/PATCH 7cập nhậtbình luận. cập nhậtXÓA 7hủy bình luận. hủy hoạiĐặt tên các tuyến tài nguyênTheo mặc định, tất cả các hành động của bộ điều khiển tài nguyên đều có tên tuyến đường; 3Đặt tên tham số tuyến đường tài nguyênTheo mặc định, 2 sẽ tạo tham số tuyến đường cho các tuyến tài nguyên của bạn dựa trên phiên bản "số ít" của tên tài nguyên. Bạn có thể dễ dàng ghi đè điều này trên cơ sở từng tài nguyên bằng cách sử dụng phương pháp 3. Mảng được truyền vào phương thức 3 phải là một mảng kết hợp gồm tên tài nguyên và tên tham số 4Ví dụ trên tạo URI sau cho tuyến đường 3 của tài nguyênPhạm vi định tuyến tài nguyênTính năng của Laravel có thể tự động khoanh vùng các liên kết lồng nhau sao cho mô hình con đã giải quyết được xác nhận thuộc về mô hình mẹ. Bằng cách sử dụng phương pháp 3 khi xác định tài nguyên lồng nhau của bạn, bạn có thể bật phạm vi tự động cũng như hướng dẫn Laravel trường nào tài nguyên con sẽ được truy xuất bởi 5Tuyến đường này sẽ đăng ký một tài nguyên lồng nhau trong phạm vi có thể được truy cập bằng các URI như sau 6Khi sử dụng liên kết ẩn có khóa tùy chỉnh làm tham số định tuyến lồng nhau, Laravel sẽ tự động xác định phạm vi truy vấn để truy xuất mô hình lồng nhau bởi cha của nó bằng cách sử dụng các quy ước để đoán tên mối quan hệ trên cha. Trong trường hợp này, giả định rằng mô hình 1 có mối quan hệ có tên là 8 (số nhiều của tên tham số tuyến đường) có thể được sử dụng để truy xuất mô hình 9Bản địa hóa URI tài nguyênTheo mặc định, 2 sẽ tạo các URI tài nguyên bằng các động từ tiếng Anh và quy tắc số nhiều. Nếu bạn cần bản địa hóa các động từ hành động 5 và 0, bạn có thể sử dụng phương pháp 03. Điều này có thể được thực hiện khi bắt đầu phương pháp 04 trong ứng dụng của bạn 05 7Hỗ trợ số nhiều của Laravel. Khi các động từ và ngôn ngữ số nhiều đã được tùy chỉnh, một đăng ký định tuyến tài nguyên chẳng hạn như 06 sẽ tạo ra các URI sau 8Bổ sung bộ điều khiển tài nguyênNếu bạn cần thêm các tuyến bổ sung vào bộ điều khiển tài nguyên ngoài tập hợp các tuyến tài nguyên mặc định, bạn nên xác định các tuyến đó trước khi gọi phương thức 2; 9
Bộ điều khiển tài nguyên SingletonĐôi khi, ứng dụng của bạn sẽ có các tài nguyên chỉ có thể có một phiên bản duy nhất. Ví dụ: "hồ sơ" của người dùng có thể được chỉnh sửa hoặc cập nhật, nhưng người dùng không được có nhiều hơn một "hồ sơ". Tương tự như vậy, một hình ảnh có thể có một "hình thu nhỏ" duy nhất. Các tài nguyên này được gọi là "tài nguyên đơn", nghĩa là có thể tồn tại một và chỉ một phiên bản tài nguyên. Trong những trường hợp này, bạn có thể đăng ký bộ điều khiển tài nguyên "singleton" 0Định nghĩa tài nguyên đơn lẻ ở trên sẽ đăng ký các tuyến đường sau. Như bạn có thể thấy, các tuyến "tạo" không được đăng ký cho các tài nguyên đơn lẻ và các tuyến đã đăng ký không chấp nhận một mã định danh vì chỉ có thể tồn tại một phiên bản của tài nguyên VerbURIActionRoute NameGET 09showprofile. hiển thịGET_______21_______10chỉnh sửa hồ sơ. chỉnh sửaPUT/PATCH 09updateprofile. cập nhậtTài nguyên Singleton cũng có thể được lồng trong một tài nguyên tiêu chuẩn 1Trong ví dụ này, tài nguyên 12 sẽ nhận được tất cả các ; VerbURIActionRoute NameGET 14showphotos. hình nhỏ. showGET_______21_______15chỉnh sửa ảnh. hình nhỏ. chỉnh sửaPUT/PATCH 14cập nhật ảnh. hình nhỏ. cập nhậtTài nguyên Singleton có thể tạoĐôi khi, bạn có thể muốn xác định các tuyến tạo và lưu trữ cho một tài nguyên đơn lẻ. Để thực hiện điều này, bạn có thể gọi phương thức 17 khi đăng ký tuyến tài nguyên đơn lẻ 2Trong ví dụ này, các route sau sẽ được đăng ký. Như bạn có thể thấy, một tuyến đường 18 cũng sẽ được đăng ký cho các tài nguyên đơn lẻ có thể tạoVerbURIActionRoute NameGET 19createphotos. hình nhỏ. tạoPOST____21_______14storephotos. hình nhỏ. cửa hàngGET____21_______14hiển thị ảnh. hình nhỏ. showGET_______21_______15chỉnh sửa ảnh. hình nhỏ. chỉnh sửaPUT/PATCH 14cập nhật ảnh. hình nhỏ. cập nhậtXÓA 14hủy ảnh. hình nhỏ. hủy hoạiNếu bạn muốn Laravel đăng ký route 18 cho một tài nguyên đơn nhưng không đăng ký route tạo hoặc lưu trữ, bạn có thể sử dụng phương thức 26 3Tài nguyên API SingletonPhương pháp 27 có thể được sử dụng để đăng ký một tài nguyên đơn lẻ sẽ được thao tác thông qua API, do đó khiến các tuyến đường 5 và 0 không cần thiết 4Tất nhiên, các tài nguyên API đơn lẻ cũng có thể là 17, sẽ đăng ký các tuyến đường 31 và 32 cho tài nguyên 5Dependency injection & ControllersXây dựng tiêmBộ chứa dịch vụ Laravel được sử dụng để giải quyết tất cả các bộ điều khiển của Laravel. Do đó, bạn có thể gõ gợi ý bất kỳ phụ thuộc nào mà bộ điều khiển của bạn có thể cần trong hàm tạo của nó. Các phụ thuộc đã khai báo sẽ tự động được giải quyết và đưa vào phiên bản bộ điều khiển 6phương pháp tiêmNgoài việc tiêm hàm tạo, bạn cũng có thể phụ thuộc kiểu gợi ý vào các phương thức của bộ điều khiển của mình. Một trường hợp sử dụng phổ biến để đưa phương thức vào là đưa phiên bản 33 vào các phương thức trong bộ điều khiển của bạn 7Nếu phương thức điều khiển của bạn cũng đang mong đợi đầu vào từ một tham số tuyến đường, hãy liệt kê các đối số tuyến đường của bạn sau các phụ thuộc khác của bạn. Ví dụ: nếu tuyến đường của bạn được xác định như vậy 8Bạn vẫn có thể nhập gợi ý 33 và truy cập tham số 35 của mình bằng cách xác định phương thức điều khiển của bạn như sau
Làm cách nào để gọi JavaScript trong bộ điều khiển của laravel?Cách gọi Phương thức điều khiển Laravel trong Jquery/Javascript . Phương thức điều khiển cuộc gọi từ jquery/javascript. Chúng tôi gọi phương thức điều khiển laravel trong jquery bằng cách sử dụng ajax. . tuyến đường. Tuyến/web. php. . Bộ điều khiển người dùng. Trong UserController, chúng tôi sẽ tạo các phương thức để liệt kê tất cả người dùng và lấy dữ liệu của một người dùng bằng ajax. . Xem tài liệu Làm thế nào bạn có thể gọi một phương thức điều khiển từ JavaScript?Cách gọi Phương thức điều khiển từ Javascript . var xhttp = new XMLHttpRequest(); xhttp. open("POST", "/subscribe/checkout", true); xhttp. setRequestHeader('Kiểu nội dung', 'ứng dụng/x-www-form-urlencoding'); Bạn có thể sử dụng JavaScript trong laravel không?Laravel không yêu cầu bạn sử dụng một khung hoặc thư viện JavaScript cụ thể để xây dựng ứng dụng của mình . Trên thực tế, bạn hoàn toàn không phải sử dụng JavaScript. Tuy nhiên, Laravel có bao gồm một số giàn giáo cơ bản để giúp bạn bắt đầu viết JavaScript hiện đại dễ dàng hơn bằng thư viện Vue.
Làm thế nào một chức năng có thể gọi một chức năng khác trong bộ điều khiển laravel?Cách gọi một hàm điều khiển trong một bộ điều khiển khác trong. . ví dụ 1. PostController. php. sử dụng Ứng dụng\Http\Controllers\OtherController; . . ví dụ 2. PostController. php. lớp PostController mở rộng Bộ điều khiển. . ví dụ 3. PostController. php. lớp PostController mở rộng Bộ điều khiển |