我刚开始使用 ZF2,我对 Zend Skeleton Application 很困惑。 在当前情况下 URl 看起来像:
http://localhost/zf2/public/
对于名为 Application 的模块,它看起来像:
http://localhost/zf2/public/Application/
并且 Action 在模块名称之后。 我想创建一个带有管理面板 和用户面板 的 CMS。 这就是为什么我希望我的用户 URL 是这样的:
http://localhost/zf2
对于管理员来说:
http://localhost/zf2/admin/Module Name/Actions
所以,我的问题是,我应该如何创建这样的 URL?
最佳答案
您的 url 示例看起来像是混淆了公共(public)目录和 Controller 路由。你通常不应该有这样的 url:
http://localhost/zf2/public/
相反,您通常应该使用虚拟主机。有很多方法可以做到这一点,但通常归结为自定义端口或自定义主机条目(如果您想要一个命名的虚拟主机)。那么您的公开网址将类似于以下两个选项之一:
http://localhost:9000/
或
http://myapp.local/
如果您使用的是 PHP 5.4,在您的开发环境中,到目前为止启动主机的最简单方法是使用 PHP 5.4 内置服务器。您可以在项目根目录的命令行上像这样启动它(这使公共(public)目录成为本地主机端口 9000 上临时 Web 服务器的 Web 根目录):
php -S localhost:9000 -t public
一旦您整理好 Web 服务器配置,Skeleton 应用程序将自动解释您的 url 路由(默认情况下),如下所示:
http://localhost:9000/some-module/some-controller/some-action
如果您想将完整的文字路径放入 Skeleton 应用程序中 IndexController 上的默认 indexAction,它看起来像这样:
http://localhost:9000/application/index/index
关于php - Zend Framework 2 真实世界的应用程序文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443085/