Zend Framework对我来说是全新的,我也遇到了问题。可能它很容易修复,但我在谷歌找不到任何解决方案。
我无法弄清楚如何设置公共文件夹的正确路径。我使用xampp作为虚拟主机,我当前的完整路径如下所示:
localhost/zf_project/public/controller/action
现在,当我使用表单和链接时,它会将我移至localhost/controller/action
,所以目前我正在随处添加:
$front = Zend_Controller_Front::getInstance();
$form->setAction($front->getBaseUrl().'/controller/action');
可能有最简单的方法来设置公用文件夹的默认路径。 我尝试添加我的.ini应用程序文件:
resources.frontController.baseurl = "/zf_project/public"
答案 0 :(得分:4)
ZF可以确定您的基本网址,而无需在配置文件或引导程序中设置它。
从视图中,您可以使用baseUrl
帮助程序与基本URL构建链接。
// resolves to localhost/zf_project/public/controller/action
$this->form->setAction($this->baseUrl('controller/action'));
// or
// resolves to localhost/zf_project/public/images/icons/online.png
<img src="<?php echo $this->baseUrl('images/icons/online.png') ?>" />
您可以使用url
帮助程序构建网址。这会根据配置的路由构建您的URL。
// localhost/zf_project/public/controller/action/id/1234
echo $this->url(array('controller' => 'controller',
'action' => 'action',
'module' => 'default',
'id' => 1234));
您也可以使用控制器中的这些助手中的任何一个,只需在要调用它们时指定视图对象:
$this->view->baseUrl();
$this->view->url($params);
在我引用图像,javascripts,css文件或静态内容的任何地方,我都使用baseUrl
帮助器。每当我想链接到我的应用程序中的其他控制器或操作时,我都使用url
帮助器,因为它使用您的路由构造有效的URL。这样,如果您更改网址结构,url
帮助程序将反映更改,您无需修改现有代码。
答案 1 :(得分:2)
您需要修改虚拟主机文件。
标准练习在基础上安装Zend应用程序。
在你的XAMP中(我不是Windows,但会尝试一下),你应该有一个文件夹:/xampp/apache2/conf
你会找到apache2.conf或httpd.conf。打开它们,您应该在某处找到DocumentRoot
,然后使用您的/public
文件夹进行导航。
或者,完全新建一个virtual host。
另外,我找到了this good tutorial,一步一步地跟着它(或跳到第3步)
希望有所帮助:)
有问题吗?