4

在过去的几年里,我一直在开发基于 CodeIgniter 的 Web 应用程序。迄今为止,CI 为我提供了很好的服务,但对于下一代软件,我希望转向 PHP 5.3 和更强大的框架。自从 FuelPHP 大约一年前出现以来,我就一直在关注它,现在我已经开始认真地开始开发该应用程序的下一个版本,我有兴趣尝试一下 FuelPHP。

我的应用程序依赖于使用多个应用程序目录。本质上,有一个系统应用程序具有系统的核心功能,管理员不应该接触的代码,因为它会在更新期间被更改。此外,还有一个用户应用程序目录,管理员可以在其中扩展和覆盖系统类。这样,管理员可以在不接触系统核心的情况下自定义系统(从而使他们在系统更新时不会丢失他们的修改)。当请求从 URL 进来时,我希望系统首先检查用户应用程序目录。如果在那里找不到控制器,则转到系统应用程序目录(理论上,它应该在该目录中找到该文件)并使用该控制器。

我不想从 CI 或 Kohana 的思维方式来解决这个问题,所以我想知道在 FuelPHP 中做这件事的最佳方法是什么?由于我没有太多使用 FuelPHP 的经验,我希望有人能给我一些指示或将我推向正确的方向。

谢谢!

4

1 回答 1

8

FuelPHP 有一个“app”文件夹,您可以将其视为应用程序的核心。对于较小的应用程序,它还可以包含您的应用程序代码。

对于更大和/或更复杂的应用程序,请使用模块。模块具有与“应用程序”完全相同的文件夹结构,但存在于它自己的命名空间中(= 模块文件夹名称)。FuelPHP 支持多个模块位置,因此您可以拥有一个包含您在不同网站上共享的模块以及特定于您的网站的模块的位置。

在没有任何特殊路由的情况下,如果 URI 中的第一段是模块名称,则将加载来自该模块的控制器。

于 2011-12-23T19:29:44.250 回答