1

Zend Framework 对我来说是全新的,我对它有疑问。可能很容易修复,但我在 Google 中找不到任何解决方案。

我不知道如何设置公用文件夹的正确路径。我使用 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"
4

2 回答 2

4

ZF 可以确定您的基本 URL,而无需在配置文件或引导程序中设置它。

从视图中,您可以使用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。这会根据配置的路由构造您的 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);

几乎在我引用图像、javascript、css 文件或静态内容的任何地方,我都会使用baseUrl帮助程序。每当我想链接到我的应用程序中的其他控制器或操作时,我都会使用url帮助程序,因为它使用您的路由构造有效的 URL。这样,如果您更改 URL 结构,url帮助程序将反映更改,您不必修改现有代码。

于 2012-09-04T09:47:29.620 回答
2

您需要修改您的虚拟主机文件。

在基本根上安装 Zend 应用程序是标准做法。

在您的 XAMP 中(我不是 Windows,但会尝试一下),您应该有一个文件夹:/xampp/apache2/conf在那里您会找到 apache2.conf 或 httpd.conf,它们中的任何一个。打开它们,你应该找到DocumentRoot某个地方,用你的/public文件夹导航。

或者,完全创建一个新的虚拟主机

另外,我找到了这个很好的教程,一步一步来(或跳到第 3 步)

希望能帮助到你 :)

问题?

于 2012-09-04T09:34:50.870 回答