Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F3(无脂肪PHP框架)并向其添加MVC/OOP结构_Php_Model View Controller_Frameworks_Acl_Fat Free Framework - Fatal编程技术网

F3(无脂肪PHP框架)并向其添加MVC/OOP结构

F3(无脂肪PHP框架)并向其添加MVC/OOP结构,php,model-view-controller,frameworks,acl,fat-free-framework,Php,Model View Controller,Frameworks,Acl,Fat Free Framework,这个问题与F3(Php无脂肪框架)有关,我一直在寻找适合小型网站和/或博客的简单、快速和安全的框架。对我来说重要的是,该框架具有某种ACL和简单性。如果你知道什么好的选择,我洗耳恭听。同时,对于那些有过F3使用经验的人,有一个关于F3的问题: 有没有可能在F3上有一个像样的OOP MVC结构?既然路线像 F3::route('GET/',':indexController | home')不工作,如何实现适当的MVC结构?我知道我可以将home方法设置为static,然后执行F3::route(

这个问题与F3(Php无脂肪框架)有关,我一直在寻找适合小型网站和/或博客的简单、快速和安全的框架。对我来说重要的是,该框架具有某种ACL和简单性。如果你知道什么好的选择,我洗耳恭听。同时,对于那些有过F3使用经验的人,有一个关于F3的问题:

有没有可能在F3上有一个像样的OOP MVC结构?既然路线像
F3::route('GET/',':indexController | home')不工作,如何实现适当的MVC结构?我知道我可以将home方法设置为static,然后执行
F3::route('GET/','indexController::home'),但这似乎是不必要的复杂和过度,并且忽略了构造方法,我需要分别为每个控制器设置布局。我希望在index.php文件中只包含到各种控制器和操作的路由,其余的逻辑将在这些控制器中处理。最好的方法是什么

非常感谢


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

如果你想要MVC,为什么要使用F3。最好使用CodeIgniter或Kohana(如果您有PHP5)。它们也非常轻巧,是为MVC结构而构建的。

听起来去面包店也不会有什么坏处。CakePHP有一个优秀的ACL核心,可以像IMHO一样轻量级。

try
f3::route('GET/',array(新的IndexController,'home')


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

F3没有任何内置的MVC架构,它基本上只是一个前端控制器。这就是重点。你可以实现你想要的任何东西,而不是强迫你使用一套特定的工具。例如,如果您不喜欢F3的Axon和模板插件,您可以使用红豆ORM管理您的模型,Smarty构建您的视图。F3的核心是将URL路由到您的控制器,并避开您的路径

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

并将其包含到F3配置中:

\F3::config('routes.ini');
接下来,在AUTOLOADER中添加包含控制器和模型的目录。 作为您可以使用的视图-例如。
您现在几乎已经准备好了F3上的MVC。

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

您可以在上查看该项目

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

/@module = modules\@module\Controller
您可以在
app/modules/
文件夹中创建新模块,其中包含一个控制器,可以选择任意多个模型和任意多个视图


还有另一个项目,它只是一些基本模块,比如登录模块,你可以在grump free framework项目的自述中找到。

F3更容易厌食,而不是无脂肪,我建议使用Slim CodeIgniterTanks,我会去看看。我基本上是在寻找一个好的、简单的、轻量级的PHP5.3MVC框架,最好是已经内置了某种良好的用户身份验证,以便用它来构建小型网站和博客。我用Zend来做企业级的东西。试试谷歌的lightvc吧。它非常LightWiegt。但是我担心它没有acl模块。对于MVC和OOP爱好者来说,Yii比F3更适合,因为它是一个过时的、贴满广告的、有问题的网站。我最终为我的编码风格重新实现了yii风格。还有保安,我会检查的,干杯。我读过这两篇文章,但我能找到的最新的专业等级比较文章是2008年左右的。我读过关于cakePHP的文章,但声称它比Zend还要慢的说法在我找到的分析文章中相当一致。在简单和良好的ACL之后,速度对我来说是最重要的——我不太在乎其他任何东西。这很有效。然而,它是缓慢的。出于测试目的,我在_构造中放置了一个echo,在home函数中放置了另一个echo。构造回显立即显示,而第二个回显需要相当一秒的时间才能显示。我在想,我只需要制作我自己的非常简单的DB+ACL MVC,它可以用于简单的项目,我所看到的一切都显得臃肿和不切实际,即使是最简单的项目。。。现在就来寻找一些合适的最佳实践学习材料。谢谢2.x版本允许这种格式:
f3::route('GET/','IndexController->home')
/@module = modules\@module\Controller