从字符串引用模型

问题描述

如何从字符串中调用模型?

$model = 'User';

我尝试了以下操作:

\App\.$model::get();
\App\{$model}::get();
\App\.{$model}::get();
\App\${$model}::get();
\App\.${$model}::get();

我觉得我丢失了一些东西,尽管它可以解决:

$model = 'App\User';
$model::get();

但出于学习目的,我试图查看如何像上面那样将其混合。

解决方法

从整体上做一个字符串:

namespace App;

class Model {
    public static function go() {
        echo 'yay!';
    }
}

$someString = 'Model';
$className = 'App\\' . $someString;
var_dump(new $className());
$className::go();

工作example

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...