3 回答

TA貢獻1833條經驗 獲得超4個贊
用于::class獲取完整的類名:
$myClass = classname::class; // DataObject\Objectbrick\Data\classname
$tireBrick = new $myClass($object);

TA貢獻1777條經驗 獲得超3個贊
$tireBrick = "new DataObject\\Objectbrick\\Data\\".$brickName($object);
或者嘗試了解命名空間以縮短它

TA貢獻1946條經驗 獲得超4個贊
我有一堆拼寫檢查類解決了這個問題。它看起來像這樣:
$baseClass = 'SpellChecker';
$activeChecker = $activeChecker ? 'Hun' : Yii::$app->params['spellChecker']['active'];
$spellCheckerClass = "common\\models\\spellchecker\\$activeChecker$baseClass";
然后你可以像這樣使用它:
/** @var SpellChecker $spellChecker */
$spellChecker = new $spellCheckerClass();
現(xiàn)在整個事情的本質是如果你使用類似的類是最好的,所以你可以使用這些函數(shù)而不用擔心如果函數(shù)不存在它們會使應用程序崩潰。為此,您可以實現(xiàn)一個觀察者模型,在其中定義要在觀察者類中使用的每個函數(shù),然后創(chuàng)建子類,在其中覆蓋觀察者類的功能。
- 3 回答
- 0 關注
- 219 瀏覽
添加回答
舉報