2010-06-12 74 views
2

我可能只需要一個術語更新,但我已經在Magento和Joomla被打,和他們做一樣嵌套動態PHP

$mage = new Mage; 
$mage->block('blockname'); 

引用,其中通過一些過程,我無法弄清楚類法師是電話:

class blockname extends something{ 

} 

不要引用我的代碼,但是我希望做這樣的事情,我有一個文件,我可以做$ myscript->塊(「塊名稱」);它將加載並用class blockname調用該文件。

回答

3
class Mage { 
    private $block; 

    public function block($blockname) { 
     if (!class_exists($blockname, true)) { 
      throw new InvalidArgumentException("Not a valid class name: $blockname"); 
     } 
     $this->block = new $blockname; 
    } 
} 

類定義的加載(如果尚未完成)通常是通過自動加載完成(見here)。

+0

啊,我不知道你可以做「新的變數」。謝謝! – Nitroware 2010-06-12 19:25:21