使用带有字符串的变量进行新 class 初始化
Using variable with string for new class initialization
我需要用构造函数调用初始化新的 class 安全。
工作方式:
$paymentPortal = new Safe($order);
它没有的方式:
$portal = 'Safe';
$paymentPortal = new $portal($order);
我收到错误:
PHP Fatal error: Uncaught Error: Class 'Safe' not found in ...
有没有办法动态调用class初始化?
如果它很重要,我正在使用 Phalcon 框架..
命名空间呢?如果您使用的是 IDE,它可能已经删除了命名空间。检查一下。
此致
使用基于字符串的创建时,必须使用 class 的完全限定命名空间,而不考虑本地命名空间。
use My\Stuff;
$o = new Stuff();
$name = ‘My\Stuff’;
$o = new $name();
$name = Stuff::class;
$o = new $name();
我需要用构造函数调用初始化新的 class 安全。
工作方式:
$paymentPortal = new Safe($order);
它没有的方式:
$portal = 'Safe';
$paymentPortal = new $portal($order);
我收到错误:
PHP Fatal error: Uncaught Error: Class 'Safe' not found in ...
有没有办法动态调用class初始化? 如果它很重要,我正在使用 Phalcon 框架..
命名空间呢?如果您使用的是 IDE,它可能已经删除了命名空间。检查一下。
此致
使用基于字符串的创建时,必须使用 class 的完全限定命名空间,而不考虑本地命名空间。
use My\Stuff;
$o = new Stuff();
$name = ‘My\Stuff’;
$o = new $name();
$name = Stuff::class;
$o = new $name();