为高级项目选择什么PHP框架

xan*_*rus 4 php drupal cakephp kohana content-management-system

我正在开展我的高级项目,我们同意的主题是CMS,与Drupal类似,通过提供强大的管理功能可以使事情变得更容易其中一些包括:内容类型和数据字段创建(CCK)视图创建复杂的用户管理(任务和角色)以后添加第三方模块的能力 - 挂钩模板能力

现在的问题是,我必须展示对软件架构和开发过程的充分了解和理解.我肯定不会从头开始,但我也无法在我的文档中演示Drupal

我想使用一个可以构建技能的框架,一个不太复杂的框架,一个仍然会让我编写代码的框架 - 高级项目是关于我的工作,而不是关于php社区的工作

我从Kohana开始,然而,我并不喜欢它.它糟糕的文档,以及代码库的频繁更改让我停下来.

我想的是一些非常小而甜的东西,这些东西并没有出现在每一步中并说:"嘿,你知道什么,我能做得比你好",像CakePHP,也许.

我知道或多或少,我需要的所有代码都可用.然而,这里的观点只是更具学术性.

有什么建议 ?

The*_*per 11

你应该让Kohana成为你的选择.我不明白你避免它的原因.

现在有两个Kohana版本,版本2和版本3.

版本

2.*行的当前版本是:2.3.4和2.4将在文档完成和粉尘时发布.2.4是API更改版本.

3.*行的当前版本是3.0.3,并且API被冻结,直到下一个主要版本(几个月之后).

文档

人们抱怨Kohana文件,我认为这是不合理的.前段时间可能是真的,但情况发生了很大的变化.Kohana 3拥有精彩的文档,可以在这里找到,并在kerkness.ca上有广泛的第三方维基.

2.*行的文档可能不太好,但它肯定足以让你至少开始.当2.4发布时,它将与Kohana 3s一样好

关于CodeIgniter的注释

在您开始使用CodeIgniter之前,您应该了解他们所犯的一些愚蠢的设计错误.

  • 他们最初决定通过$_GET = array()在其中一个核心文件中运行来禁用$ _GET .然后他们决定将其变成配置选项$allow_get.我根本不明白.
  • 继续使用PHP4,他们重新实现了PHP4中没有的一些方法.我希望他们继续前进,哎呀; 甚至他们的用户也开始在PHP5中编写插件和库.
  • 会话支持是绝对的废话.人们每天仍然有问题.想拥有不同的会话驱动程序?(本机,数据库或cookie)不,你只有一个选择.

Alex Mcp的一些观点也不是真的有效.

小文件大小(下载为2.1MB,但实际使用的文件大约为1.5MB).

Kohana也是几个MB,但这绝不是选择框架的理由.

按需调用库和帮助程序 - >最小化内存使用

这是CodeIgniter很糟糕的地方.在PHP5中,您将创建一个静态方法,并像调用Class :: method();一样调用它.

我以前讨厌CodeIgniter $this->load->helper('form')等等...

问问自己,现在谁阻碍了?

好文档.不是个人的忠实粉丝,但他们用可读的英语写成了很好的例子

往上看.

可扩展 - 社区编写的大量图书馆

Kohana也有数百个扩展,http://dev.kohanaphp.com/projects/http://github.com/search?q=kohana&type=Everything&repo=&langOverride=&start_value=1

CodeIgniter允许您通过在类中使用特殊的"My_"前缀来扩展类.Kohana使用级联文件系统来完成此操作,因此应用程序中名为"form.php"的文件将自动覆盖系统目录中的"form.php".

如果你真的想要一些不会妨碍你的事情并帮助你而不是阻碍你,那么Kohana就是你要走的路.

就这件事而言,只是我的2点.

  • 我同意,Kohana过CI (2认同)

Ale*_*Mcp 5

我完全喜欢CodeIgniter.它不具有的CakePHP/Rails的神奇功能,但它会自动附带了一个良好的MVC建立和形成良好的基本库,ActiveRecord的执行,处理POST数据的消毒,而我只是不喜欢其他的好东西处理每个项目.

他们制作博客的介绍视频就是让我迷上了.良好的语法,良好的实践......不能为你的尺寸/风格项目推荐它.

编辑

正如评论者所指出的那样,我将把这些优点列为要点:

  • 小文件大小(下载为2.1MB,但实际使用的文件~1.5MB)

  • 按需调用库和帮助程序 - >最小化内存使用

  • 文档.不是个人的忠实粉丝,但他们用可读的英语写成了很好的例子

  • 可扩展 - 社区编写的大量图书馆

  • 鼓励MVC架构

  • 良好的内置安全功能