如何在zend框架中设置正确的公用文件夹路径

时间:2012-09-04 09:16:42

标签: php zend-framework

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"

2 个答案:

答案 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步)

希望有所帮助:)

有问题吗?