php - 拉维尔 5.1 : Calling a function from string

标签 php laravel laravel-5 laravel-5.1

目前我正在尝试从字符串调用函数。

这是我稍后将调用的函数:

<?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/

相关文章:

php - 比较 PHP 和 MySQL 中的 UNIXTIME

php - Laravel:循环中的 orWhere

php - Controller Laravel 5.2 之间的共享方法

php - 为什么在 PHP 中对日期格式为 "YYYY-MM-DD"的两个字符串进行小于或大于比较工作,即使它们是字符串?

php - 在 SQL 中标记结果

javascript - Opencart Ajax 过滤器 对于产品

php - Laravel 5 LEFT JOIN 的 id 问题

php - 如果 cookie 设置为同一域上的所有子域,则删​​除 cookie 不起作用

mysql - 显示数据库中的数据

php - Laravel 5 获取数组的输入值