好的,所以我确定有一种很好的方法可以做到这一点。但我被困住了。
基本上,我有一个“自定义处理程序”文件夹,可以在产品集上运行功能。文件夹(和命名空间)结构如下所示
HANDLERS
-MAIN
--Generate.php
--List.php
-THREAD
--Generate.php
--List.php
-TEST
--Generate.php
--List.php
在'generate.php' 和'list.php' 中是静态函数,它们都共享。在我的 Controller 中,我想根据模型的属性调用这些处理程序之一。就像是:
\Handlers\$product->handler\Generate::go();
如果产品使用“线程”,它会调用
\Handlers\Thread\Generate::go();
是否有捷径可寻?
干杯!
最佳答案
您可以使用 call_user_func
在动态类名上调用方法,例如:
<?php
namespace MyPackage;
class Foo
{
public static function bar()
{
echo 'Hello';
}
}
$className = "\\MyPackage\\Foo";
call_user_func([$className, 'bar']);
关于php - Laravel 基于var 调用静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253960/