2013-05-11 73 views
1

我把password.php文件放在components文件夾中。在phpStorm在password.php現有的功能顯示以及(自動完成),但在運行的時候遇到這個:Yii自動加載問題

Fatal error: Call to undefined function password_hash() in . . .\protected\controllers\SiteController.php on line 129

是什麼原因?

main.php

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

回答

2

的Yii只自動加載如果文件名是相同的類名和,如果類定義文件中導入路徑。對於包含功能包的文件,您必須手動輸入include(或require)。
要包含您可以使用dirname(__FILE__)(php 5.2)或__DIR__(php 5.3+)獲取當前文件的路徑,然後將相對路徑附加到您的文件和文件名。你可以把這個index.php,類似的東西:

require_once dirname(__FILE__) . '/../protected/components/password.php'; 

或者更簡單地說,如果你有PHP 5.3+:

require_once __DIR__ . '/../protected/components/password.php';