2014-07-16 28 views
1
'urlManager'=>array(
     'urlFormat'=>'path', 
     'rules'=>array(
       'gii'=>'gii', 
       'gii/<controller:\w+>'=>'gii/<controller>', 
       'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>', 
       '(' . implode('|', EventType::$TYPES_TO_URL) . ')' => 'home/index', 

在上面的代碼中,我嘗試使用EventType類的靜態變量來爲urlManager的規則創建正則表達式。但我得到的錯誤:Yii - 如何在config/main中使用類?

Warning: include(EventType.php): failed to open stream: No such file or directory in /Users/trmop/Sites/test.dev/Yii-1-1-14/YiiBase.php on line 427 

Warning: include(): Failed opening 'EventType.php' for inclusion (include_path='.:/Applications/MAMP/bin/php/php5.4.19/lib/php') in /Users/trmop/Sites/test.dev/Yii-1-1-14/YiiBase.php on line 427 

Fatal error: Class 'EventType' not found in /Users/trmop/Sites/test.dev/app/config/main.php on line 72 

看來,Yii還沒有加載類。

我可以做include(dirname(__FILE__) . '../../models/EventType.php');,但它似乎並不是一個乾淨的解決方案。

有沒有更好的方法來使用Yii的功能呢?

回答

1

可能這會幫助你。你

Register Autoloader

還可以導入你的類

import'=>array(
    'application.models.*', 
    'application.components.*', 
), 
+0

'application.models *'已經是'import'數組中。 –

+0

你如何建議'registerAutoloader()'在這裏使用? –