Задать путь Zend Framework на Lion? - PullRequest
       0

Задать путь Zend Framework на Lion?

1 голос
/ 24 декабря 2011

Я пытаюсь настроить Zend Framework на Lion, я установил "Zend" в

/usr/local/zend/share/ZendFramework/library/Zend

мой путь PHP (php -i | grep include_path):

include_path => .: => .:

Я пытался сделать:

<?php
    set_include_path('ZendFramework-1.10.3-minimal/library/'.get_include_path());
    require_once('Zend/Loader.php');
    Zend_Loader::registerAutoload();
?>

Что я вижу в браузере:

Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /Users/ngoles/Programming/WWW/ApparelDream/appareldream/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='ZendFramework-1.10.3-minimal/library/.:') in /Users/ngoles/Programming/WWW/ApparelDream/appareldream/test.php on line 3

Советы по правильной настройке пути?

1 Ответ

1 голос
/ 24 декабря 2011

Ответ - это комбинация комментария и ответа, который я видел здесь.Вот простой пример из Zend .

// the first two lines should set it up for the Zend library
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();

// these are for custom libraries, two different ways of doing it
// and NOT necessary if you don't have any custom libraries
$loader->registerNamespace('Foo_');
$loader->registerNamespace(array('Foo_', 'Bar_'));

Вот что Zend должен был сказать по этому поводу :

По умолчаниюэто позволит загружать любые классы с префиксами пространства имен класса «Zend_» или «ZendX_», если они находятся в вашем include_path.

Что произойдет, если у вас есть другие префиксы пространства имен, которые вы хотите использовать?Лучший и самый простой способ - вызвать метод registerNamespace () в экземпляре.Вы можете передать один префикс пространства имен или их массив:


И затем, конечно, обязательно включите PATH_SEPARATOR при назначении более чем одного путь с использованием set_include_path(), в противном случае он просто объединит их.

Вот как я это сделаю в моем файле index.php .

set_include_path(
    '/usr/local/zend/share/ZendFramework/library' .
    PATH_SEPARATOR . get_include_path() .
    PATH_SEPARATOR . '.'
);
...