Zend Framework项目结构假定您每个服务器只运行一个应用程序,例如 localhost / guessbook,其中控制器和东西位于该级别之上的一个文件夹中。
如何在我的localhost中有一些不同的基于ZF的项目,以便像使用常规php脚本应用程序一样解决它们 - 使用localhost / app1,localhost / app2?
理想情况下,我想没有DocumentRoot,我想立即使用浏览器在应用程序之间切换。
答案 0 :(得分:2)
我不清楚明白这是什么问题?也许您指的是发送到/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 :(得分:1)
我认为你错了。您可以在同一主机名上拥有多个zend框架应用程序。即我一直在我的服务器上使用多个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);
答案 2 :(得分:1)
你可以通过将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