Я впервые тестирую классы рамки zend. На данный момент я заинтересован в использовании некоторых отдельных классов. Читая документацию и некоторые другие q здесь и в блогах, я пробовал три способа загрузки классов
//attempt 1 - using zend loader require_once('library\Zend\Loader.php'); Zend_Loader::loadClass('Zend_Date'); //attempt 2 - direct class load require_once('library\Zend\Date.php'); // attempt 3 - auto load set_include_path('D:\wamp\www\testPages\zend_test\library\Zend' . PATH_SEPARATOR . get_include_path()); require_once 'Loader\Autoloader.php'; $date = new Zend_Date(); // Output of the desired date print $date->get();
моя структура папок:
Я получаю следующие сообщения об ошибках: попытка 1
Warning: include(Zend\Date.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 83 Warning: include() [function.include]: Failed opening 'Zend\Date.php' for inclusion (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 83 Warning: require_once(Zend/Exception.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 87 Fatal error: require_once() [function.require]: Failed opening required 'Zend/Exception.php' (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader.php on line 87
attempt2
Warning: require_once(Zend/Date/DateObject.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Date.php on line 25 Fatal error: require_once() [function.require]: Failed opening required 'Zend/Date/DateObject.php' (include_path='.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Date.php on line 25
atempt3
Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in D:\wamp\www\testPages\zend_test\library\Zend\Loader\Autoloader.php on line 24 Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='D:\wamp\www\testPages\zend_test\library\Zend;.;C:\php5\pear') in D:\wamp\www\testPages\zend_test\library\Zend\Loader\Autoloader.php on line 24
Я что-то упускаю?
Ваш путь включения должен читать:
include_path='D:\wamp\www\testPages\zend_test\library;.;C:\php5\pear
Когда он пытается загрузить класс Zend_Date, он ищет папку под названием Zend в пути include с файлом Date.php в нем.
Все 3 из ваших методов должны работать с этим исправленным, и я рекомендую попробовать 3.
использовал метод 3 и сделал это, чтобы заставить его работать:
set_include_path('D:/wamp/www/zendTest/library/'); require_once 'Zend/Loader/Autoloader.php'; Zend_Loader::loadClass('Zend_Date'); //or whatever zen class
в php.ini удалить ";" перед тем, как включить include_Path и перезапустить вашу игру!