3

这个问题是关于 F3(Php Fat Free 框架)的,我偶然发现了一个适合小型网站和/或博客的简单、快速和安全的框架。对我来说重要的是该框架具有某种 ACL 和简单性。如果您知道任何好的替代方案,我会全力以赴。同时,对于那些有过F3经验的人来说,一个关于F3的问题:

是否有可能用 F3 有一个像样的 OOP MVC 结构?既然像这样的路由 F3::route('GET /',':indexController|home');不起作用,那么如何实现一个合适的 MVC 结构呢?我知道我可以将 home 方法设置为 static 然后 do F3::route('GET /','indexController::home');,但这似乎是不必要的复杂和矫枉过正,并且忽略了我需要为每个控制器分别设置布局的构造方法。我想在我的 index.php 文件中只有到各种控制器和操作的路由,其余的逻辑将在这些控制器中处理。解决这个问题的最佳方法是什么?

非常感谢

编辑:我也想听听关于 Yii 的一些意见,我看到它在 PHPFrameworks.com 上的排名很高

4

6 回答 6

7

F3 不会因任何内置的 MVC 架构而膨胀,它基本上只是一个前端控制器。这就是重点。您可以实现任何您想要的,而不是强迫您使用一组特定的工具。例如,如果您不喜欢 F3 的 Axon 和 Template 插件,您可以使用 Red Bean ORM 来管理您的模型,并使用 Smarty 来构建您的视图。F3,在它的核心,只是将 url 路由到你的控制器并且不妨碍你。

于 2011-08-12T18:03:07.177 回答
4

尝试f3::route('GET /',array(new IndexController,'home'));

这将调用您的构造函数并执行 home() 方法。f3 不提倡任何“正确的”MVC 方法。相反,你有一个“徒手”的 MVC 方法。

于 2011-01-20T16:37:11.263 回答
0

如果你想要 MVC,为什么要使用 F3。最好使用 CodeIgniter 或 Kohana(如果你有 PHP 5)。这些也非常轻量级,并且是为 MVC 结构构建的。

于 2011-01-16T21:34:59.127 回答
0

听起来去面包店旅行不会有伤害。CakePHP 具有出色的 ACL 核心,并且可以像您希望的那样轻巧,恕我直言。

于 2011-01-17T08:31:48.113 回答
0

您还可以使用此示例结构 (routes.ini) 将您的路由定义移动到某个单独的配置文件中:

[routes]
GET|POST / = IndexController->indexAction
GET|POST @Index: /@lang = IndexController->langAction

并将其包含到 F3 配置中:

\F3::config('routes.ini');

接下来将包含控制器和模型的目录添加到 AUTOLOADER。作为视图,您可以使用 - 例如PHPTal。你现在几乎准备好了 MVC over F3。

于 2015-09-05T00:59:51.073 回答
0

我创建了一个我称之为 Grump-Free-Framework 的项目,它就是这样做的。

您可以在github上查看该项目。

它使用简单的映射路由以完全模块化的结构调用控制器,每个模块都有自己的 MVC。

/@module = modules\@module\Controller

您可以在包含控制器的文件夹中创建新模块app/modules/,可以选择任意数量的模型以及任意数量的视图。

There is also another project which is just some basic modules, like a login module, which you can find in the readme of the grump-free-framework project.

于 2018-06-28T18:31:17.913 回答