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

标签 php zend-framework2

我刚开始使用 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/

相关文章:

php - 如何加载一次图像

php - CakePHP中的唯一 token

javascript - 尝试从 Javascript If 语句调用 PHP 脚本

doctrine-orm - Zend Framework 2 中服务中的实体管理器

php - ZF2 在工厂获取参数

zend-framework2 - 在 Zend Framework 2 中的何处放置自定义设置?

php - 如果我使用沙箱,IPN 无效

php 比较多维数组是否相等

php - View Helper 中的 Zend Framework 2 服务

php - Apigility 子路由未获取父参数