Zend Framework 2真实世界的应用程序文件结构

时间:2013-03-15 22:28:14

标签: php zend-framework2

我刚刚开始使用ZF2,我对Zend Skeleton Application非常困惑。 在目前的情况下,URl看起来像:

http://localhost/zf2/public/

对于名为应用程序的模块,它看起来像:

http://localhost/zf2/public/Application/

并且操作在模块名称之后。 我想使用 管理面板 用户面板 创建CMS。 这就是为什么我希望用户的URL像:

http://localhost/zf2

和管理员一样:

http://localhost/zf2/admin/Module Name/Actions

所以,我的问题是,我该如何创建这样的URL?

1 个答案:

答案 0 :(得分:1)

您的网址示例看起来像是混淆了公共目录和控制器路由。你通常不应该有这样的网址:

http://localhost/zf2/public/

相反,您通常应该使用虚拟主机。有很多方法可以做到这一点,但通常它可以归结为自定义端口或自定义主机条目,如果你想要一个命名的虚拟主机。然后,您的公开网址将看起来像这两个选项之一:

http://localhost:9000/

http://myapp.local/

如果您使用的是PHP 5.4,那么在您的开发环境中,启动主机的最简单方法是使用PHP 5.4内置服务器。您可以在项目根目录的命令行中以这样的方式启动它(这使得公共目录成为本地主机端口9000上临时Web服务器的Web根目录):

php -S localhost:9000 -t public

一旦您的Web服务器配置被整理出来,Skeleton应用程序将自动解释您的URL路由(默认情况下),如下所示:

http://localhost:9000/some-module/some-controller/some-action

如果你想在Skeleton应用程序的IndexController上输入完整的文字路径,那么它就是这样的:

http://localhost:9000/application/index/index