gpt4 book ai didi

php - Laravel 5 - 方法注入(inject)

转载 作者:可可西里 更新时间:2023-11-01 13:10:10 25 4
gpt4 key购买 nike

方法注入(inject)在 Laravel 5 中如何工作(我的意思是实现),我可以在自定义方法中注入(inject)参数,而不仅仅是在 Controller 操作中吗?

最佳答案

1) 阅读本文以了解更多关于 laravel 5 中方法注入(inject)的信息

http://mattstauffer.co/blog/laravel-5.0-method-injection

https://laracasts.com/series/whats-new-in-laravel-5/episodes/2

2)下面是方法注入(inject)的简单实现

$parameters = [];
$reflector = new ReflectionFunction('myTestFunction');
foreach ($reflector->getParameters() as $key => $parameter) {
$class = $parameter->getClass();
if ($class) {
$parameters[$key] = App::make($class->name);
} else {
$parameters[$key] = null;
}
}
call_user_func_array('myTestFunction', $parameters);

还可以看看函数

public function call($callback, array $parameters = [], $defaultMethod = null)

https://github.com/laravel/framework/blob/master/src/Illuminate/Container/Container.php文件以获取更多详细信息

3) 您可以为自定义方法使用方法注入(inject)

App::call('\App\Http\Controllers\Api\myTestFunction');

或方法

App::call([$object, 'myTestMethod']);

关于php - Laravel 5 - 方法注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com