Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-使用带有类变量的双冒号_Php_Class_Static_Scope Resolution - Fatal编程技术网

PHP-使用带有类变量的双冒号

PHP-使用带有类变量的双冒号,php,class,static,scope-resolution,Php,Class,Static,Scope Resolution,我试图从一个类中调用一个具有可变名称的静态函数 预期结果: class Controller extends Controller { public $model = 'ModelName'; public function index() { $woot = $this->model::find(''); var_dump($woot); } } 这项工作: $class = 'ClassName'; $object = $cla

我试图从一个类中调用一个具有可变名称的静态函数

预期结果:

class Controller extends Controller {
    public $model = 'ModelName';
    public function index() {
        $woot = $this->model::find('');
        var_dump($woot);
    }
}
这项工作:

$class = 'ClassName';
$object = $class::find($parameters);
这也有效:

$class = new Model();
$object = $class::find($params);
我试图在当前类中定义新的类名,并从当前模型中调用find作为静态函数。
如果不创建新对象,不使用
\uu set
,也不在函数中声明一个局部变量,您知道这是如何实现的吗?

实际上,您无法做到这一点。在类实例中,不能使用
$this->var
引用其他类。但是,您可以将其分配给另一个局部变量并使其工作

public function index() {
    $var = $this->model;
    $woot = $var::find('');
    var_dump($woot);
}

实际上你不能这么做。在类实例中,不能使用
$this->var
引用其他类。但是,您可以将其分配给另一个局部变量并使其工作

public function index() {
    $var = $this->model;
    $woot = $var::find('');
    var_dump($woot);
}

实际上你不能这么做。在类实例中,不能使用
$this->var
引用其他类。但是,您可以将其分配给另一个局部变量并使其工作

public function index() {
    $var = $this->model;
    $woot = $var::find('');
    var_dump($woot);
}

实际上你不能这么做。在类实例中,不能使用
$this->var
引用其他类。但是,您可以将其分配给另一个局部变量并使其工作

public function index() {
    $var = $this->model;
    $woot = $var::find('');
    var_dump($woot);
}
我同意Machavity的方法,但您可以使用
call\u user\u func()
call\u user\u func\u array()

我同意Machavity的方法,但您可以使用
call\u user\u func()
call\u user\u func\u array()

我同意Machavity的方法,但您可以使用
call\u user\u func()
call\u user\u func\u array()

我同意Machavity的方法,但您可以使用
call\u user\u func()
call\u user\u func\u array()