Yii中的自动加载问题

时间:2013-05-11 06:57:19

标签: php yii

我将password.php文件放在components文件夹中。在 phpStorm password.php中的现有函数显示良好(自动完成),但运行时遇到此问题:

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

是什么原因?

main.php

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

1 个答案:

答案 0 :(得分: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';