Несколько проектов Zend Framework в одной корневой папке - PullRequest
0 голосов
/ 21 марта 2009

Структура проекта Zend Framework предполагает, что вы запускаете только одно приложение на сервер, например localhost / думаю, где контроллеры и прочее находится на одну папку выше этого уровня.

Как у меня может быть несколько разных проектов на основе ZF на моем локальном хосте, чтобы их можно было решать, как я делаю с обычными приложениями php-скриптов - с localhost / app1, localhost / app2?

В идеале я хочу обойтись без DocumentRoot, я хочу мгновенно переключаться между приложениями с помощью браузера.

Ответы [ 3 ]

2 голосов
/ 21 марта 2009

Я не понимаю, в чем проблема? Возможно, вы ссылаетесь на типичные правила перезаписи, которые отправляются на /index.php? Ну, вы можете изменить правила переписывания с

RewriteRule ^.*$ /index.php [NC,L]

до

RewriteRule ^/app1/.*$ /app1/index.php [NC,L]
RewriteRule ^/app2/.*$ /app2/index.php [NC,L]

В bootstrap.php вы определяете все пути включения, поэтому вы можете использовать совместно используемые библиотеки Zend Framework.

1 голос
/ 07 мая 2012

Вы можете сделать это, предоставив Zend Library общий доступ к своим нескольким проектам, этот URL-адрес покажет вам, как вы можете это сделать

http://www.mauriciocuenca.com/blog/2009/03/two-or-more-zend-framework-projects-on-a-shared-host/

Кроме того, в wamp вы можете настроить Vhost на создание нескольких локальных доменов:

http://mikebernat.com/blog/Adding_Virtual_Hosts_to_Apache_&_Wampserver

1 голос
/ 21 марта 2009

Я думаю, что вы ошибаетесь в этом. Вы можете иметь несколько приложений Zend Framework на одном и том же имени хоста. То есть Я использовал несколько установок magento на моем сервере, чтобы попробовать что-то. Насколько я знаю, у Zend нет фиксированной файловой структуры (одна из причин моего выбора фреймворка)

Вы можете даже поместить Zend Library вне папки webroot и вызвать ее примерно так:

$lib = realpath(dirname(basename(__FILE__)) . '/../../../lib');
set_include_path(get_include_path() . PATH_SEPARATOR . $lib);


$rootDir = dirname(dirname(__FILE__));
        define('ROOT_DIR', $rootDir);

        set_include_path(get_include_path()
            . PATH_SEPARATOR . ROOT_DIR . '/library/'
            . PATH_SEPARATOR . ROOT_DIR . '/app/models/'
        );

        include 'Zend/Loader.php';
        spl_autoload_register(array('Zend_Loader', 'autoload'));

        // Load configuration
        Zend_Registry::set('configSection', $configSection);
        $config = new Zend_Config(new Zend_Config_Ini(ROOT_DIR.'/application/config.ini', $configSection));
        Zend_Registry::set('config', $config);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...