目前我正在尝试从字符串调用函数。
这是我稍后将调用的函数:
<?php
namespace App\Validation\Options;
class FacebookOptionValidation
{
static public function validate()
{
echo: 'example';
die();
}
}
这是我的 Controller :
<?php
namespace App\Http\Controllers\Profile;
use App\Validation\Options;
class ProfileUserEditController extends Controller {
public function updateUserOption()
{
$class = 'Options\FacebookOptionValidation';
$class::validate();
}
}
在这种情况下,Laravel 显示错误: 未找到类“Options\FacebookOptionValidation”
但是当我像这样调用我的函数时,一切正常:
use App\Validation\Options;
class ProfileUserEditController extends Controller {
public function updateUserOption()
{
Options\FacebookOptionValidation::validate();
}
}
如上所述here ,可以从字符串调用类/函数。但就我而言,这是不可能的——无论是静态还是非静态变体。
这是“laravel 的东西”吗?
最佳答案
尝试使用完整命名空间进行调用
class ProfileUserEditController extends Controller {
public function updateUserOption()
{
$class = 'App\Validation\Options\FacebookOptionValidation';
$class::validate();
}
}
关于php - 拉维尔 5.1 : Calling a function from string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34789209/