3 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
是的你可以!
$str = 'One';
$class = 'Class'.$str;
$object = new $class();
使用名稱空間時(shí),請(qǐng)?zhí)峁?biāo)準(zhǔn)名稱:
$class = '\Foo\Bar\MyClass';
$instance = new $class();
您可以在php中執(zhí)行的其他一些很酷的工作是:
變量變量:
$personCount = 123;
$varname = 'personCount';
echo $$varname; // echo's 123
以及可變的函數(shù)和方法。
$func = 'my_function';
$func('param1'); // calls my_function('param1');
$method = 'doStuff';
$object = new MyClass();
$object->$method(); // calls the MyClass->doStuff() method.

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以簡單地使用以下語法來創(chuàng)建新類(如果要?jiǎng)?chuàng)建factory,這將很方便):
$className = $whatever;
$object = new $className;
作為(異常粗糙的)示例工廠方法:
public function &factory($className) {
require_once($className . '.php');
if(class_exists($className)) return new $className;
die('Cannot create new "' . $className . '" class - includes not found or class unavailable.');
}
- 3 回答
- 0 關(guān)注
- 326 瀏覽
添加回答
舉報(bào)