Làm thế nào để bạn gọi một chức năng từ bộ điều khiển này sang bộ điều khiển khác trong laravel?

Trong blog này, tôi sẽ ví dụ cho bạn cách gọi phương thức điều khiển từ một phương thức khác trong laravel. Tôi sẽ đưa ra ví dụ về phương thức điều khiển cuộc gọi của laravel từ một phương thức khác. bạn có thể dễ dàng gọi phương thức điều khiển từ một phương thức khác trong laravel

Tôi sẽ mô tả từng bước phương thức điều khiển cuộc gọi của laravel từ một ví dụ về phương thức khác

Bước 1. Tạo tuyến đường

Trong setp này, tôi sẽ tạo route cho một phương thức điều khiển cuộc gọi từ một phương thức khác

trong ấu trùng

Route::get('/home', 'UserController@index')->name('home');

Bước 2. Tạo bộ điều khiển

Trong setp này, tôi sẽ tạo hai bộ điều khiển bằng terminal/cmd. Tôi sẽ tạo UserController và AdminController

php artisan make:UserController

php artisan make:AdminController

Bước 3. Bộ điều khiển người dùng

Trong setp này, tôi sẽ viết mã của phương thức điều khiển cuộc gọi từ một phương thức khác

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Controllers\AdminController;

class UserController extends Controller

{

/**

* Show the application dashboard.

*

* @return \Illuminate\Contracts\Support\Renderable

*/

public function index()

{

$id = 1;

$result = (new AdminController)->index($id);

return view('home',compact('result'));

}

}

Bước 4. Bộ điều khiển quản trị

Trong setp này, tôi sẽ tạo phương thức trong bộ điều khiển quản trị cho mã của phương thức điều khiển cuộc gọi từ phương thức khác

Xin chào các bạn, Chào mừng đến với Vô cực. Nếu bạn gặp khó khăn khi gọi chức năng từ bộ điều khiển khác, hãy thư giãn, bạn sẽ…

sự vô tận. com

Nếu bạn gặp khó khăn khi gọi chức năng từ bộ điều khiển khác, hãy thư giãn, bạn chắc chắn sẽ nhận được giải pháp từ bài viết này

Nếu bạn muốn sử dụng chức năng điều khiển, vui lòng làm theo cấu trúc logic nghiệp vụ của laravel. đôi khi đó là lý do rò rỉ bộ nhớ và vấn đề bảo mật. Tôi sẽ không bao giờ khuyên bạn nên sử dụng phương pháp này trong dự án của bạn

Sau đây mình sẽ chia sẻ 2 controller để các bạn dễ hiểu việc gọi hàm từ controller khác

Bây giờ bạn đã thấy mã PostController ở trên, để gọi "specialPostID()" từ UserController, bạn có thể viết nó như bên dưới

    public function show() {
        $specialIDS = app('App\Http\Controllers\PostController')->specialPostID();

        dd($specialIDS); // [1, 2, 3, 4]
    }
}

Sử dụng ứng dụng. làm () Mặt tiền


Giống như phương thức trợ giúp "app()" như trên, bạn cũng có thể sử dụng facade "App" và gọi phương thức "make()".
$specialIDS = App::make('App\Http\Controllers\PostController')->specialPostID();

dd($specialIDS); // [1, 2, 3, 4]
  • Cách lấy Service Container trong Laravel

Trong Laravel, đôi khi có thể cần thiết để truy cập một phương thức của bộ điều khiển từ một bộ điều khiển khác. Điều này rất dễ thực hiện bằng cách chỉ cần đưa bộ điều khiển với phương thức cần thiết vào bộ điều khiển cần truy cập nó

điều kiện tiên quyết

  • ấu trùng
  • Có hiểu biết cơ bản về PHP hướng đối tượng

Trong ứng dụng trình quản lý tác vụ của mình, tôi có một bộ điều khiển tác vụ có phương thức gửi thông báo cho hoạt động của tác vụ bất cứ khi nào người dùng cập nhật tác vụ

Tôi cũng có bộ điều khiển các mốc cho phép tôi tạo và gắn các mốc vào một nhiệm vụ. Nếu người dùng hoàn thành một mục tiêu quan trọng, thay vì tạo một phương thức mới trong bộ điều khiển quan trọng, thì việc truy cập phương thức đã tồn tại trong bộ điều khiển tác vụ sẽ dễ dàng hơn


Để làm việc này, bạn phải bao gồm bộ điều khiển mà bạn cần truy cập. Đảm bảo bao gồm đường dẫn đầy đủ vì theo mặc định, Laravel sẽ mong đợi nó là đường dẫn mô hình. Như đã đề cập, tôi có hai bộ điều khiển. MilestonesController và TasksController

Bộ điều khiển tác vụ (Bộ điều khiển đang được truy cập)

Bộ điều khiển các cột mốc (Bộ điều khiển yêu cầu quyền truy cập)

postNotification($comment_content, $author);
    }
}

Trong ví dụ trên, Milestones Controller đang thực hiện chức năng cập nhật mốc sau đó truy cập phương thức postNotification() trong Tasks Controller để lưu thông báo vào cơ sở dữ liệu

Sử dụng mã này ở đâu

  • Bao gồm lớp trình điều khiển có phương thức bạn yêu cầu trong bộ điều khiển cần truy cập phương thức
  • Khởi tạo lớp trình điều khiển
  • Gọi phương thức

Điều này vẫn còn hiệu lực vào năm 2022?

Là hữu ích không?

Nếu bài viết này đã giúp bạn, xin vui lòng cho tôi biết. Phản hồi của bạn sẽ được đánh giá cao và sẽ giúp tôi xây dựng nội dung tốt hơn

Chúng ta có thể gọi chức năng của bộ điều khiển khác trong laravel không?

Trong Laravel, đôi khi có thể cần truy cập phương thức của bộ điều khiển từ bộ điều khiển khác. Điều này rất dễ thực hiện bằng cách chỉ cần bao gồm bộ điều khiển với phương thức được yêu cầu trong bộ điều khiển cần truy cập nó .

Chúng ta có thể gọi phương thức từ bộ điều khiển này sang bộ điều khiển khác không?

Có, bạn có thể gọi một phương thức của bộ điều khiển khác . Bộ điều khiển cũng là một lớp đơn giản.

Làm cách nào để gọi một chức năng điều khiển khác trong Laravel 9?

Laravel 9 Cách gọi hàm điều khiển trong một bộ điều khiển khác .
Cài đặt Laravel
Demo – Tạo bộ điều khiển
Phương pháp số 1. Phương thức gọi đến bộ điều khiển
Phương pháp #2. Phương thức gọi đến bộ điều khiển
Phương pháp #3. Gọi phương thức tĩnh đến bộ điều khiển

Cách gọi hàm trong laravel?

$varbl = Ứng dụng. make("ControllerName")->FunctionName($params); để gọi một chức năng của bộ điều khiển từ một mẫu balme của tôi (xem trang).