FuelPHP中的多个应用程序目录

时间:2011-12-22 19:11:15

标签: fuelphp

在过去的几年里,我一直在开发基于CodeIgniter的Web应用程序。迄今为止,CI对我很有帮助,但对于下一代软件,我希望转向PHP 5.3和更强大的框架。我看过FuelPHP大约一年前出现了,现在我已经开始认真开始下一个应用程序的开发了,我有兴趣给FuelPHP一个去。

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

我不想错误地从CI或Kohana心态中解决这个问题,所以我想知道在FuelPHP中这样做的最佳方法是什么?由于我对FuelPHP没有多少经验,所以我希望有人可以给我一些指示,或者把我推向正确的方向。

谢谢!

1 个答案:

答案 0 :(得分:8)

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

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

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