问题描述
如何从字符串中调用模型?
$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。