从字符串引用模型

问题描述

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

$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