2013-05-11 3 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'; 
Смежные вопросы