我正在开展我的高级项目,我们同意的主题是CMS,与Drupal类似,通过提供强大的管理功能可以使事情变得更轻松 其中一些包括: 内容类型和数据字段创建(CCK) 观点创作 复杂的用户管理(任务和角色) 以后添加第三方模块的能力 - 挂钩 模板能力
现在的问题是,我必须对软件架构和开发过程充分了解和理解。我肯定不会从头开始,但我无法在我的文档中演示Drupal
我想使用一个可以构建技能的框架,一个不过于复杂的框架,还有一个,这仍然会让我编写代码 - 高级项目是关于我的工作,而不是关于php的工作社区
我从Kohana开始,然而,我并不喜欢它。它糟糕的文档,以及代码库的频繁更改让我停下来。
我在思考一些非常小而甜蜜的东西,这些东西并不会出现在每一步中并且说:“嘿,你知道什么,我能做得比你好吗”可能像CakePHP那样。
我知道或多或少,我需要的所有代码都可用。然而,这里的重点只是更具学术性。
有什么建议吗?
答案 0 :(得分:10)
你应该让Kohana成为你的选择。我不明白你避免它的原因。
现在有两个Kohana版本,第2版和第3版。
2. *行的当前版本是:2.3.4和2.4将在文档完成并撒粉时发布。 2.4是API更改版本。
3. *行的当前版本是3.0.3,并且API被冻结,直到下一个主要版本(几个月之后)。
人们抱怨Kohana文件,我认为这是不合理的。前段时间可能是真的,但情况发生了很大的变化。 Kohana 3拥有精彩的文档,可以找到here并在kerkness.ca拥有广泛的第三方wiki。
2. *行的文档可能不太好,但它肯定足以让你至少开始。当2.4发布时,它将与Kohana 3s一样好
在您开始使用CodeIgniter之前,您应该了解他们所犯的一些愚蠢的设计错误。
$_GET = array()
来禁用$ _GET。然后他们决定将其转换为配置选项$allow_get
。我根本不明白。Alex Mcp的一些观点也不是真的有效。
小文件大小(下载为2.1MB,但实际使用的文件大约为1.5MB)。
Kohana也是几个MB,但这绝不是选择框架的理由。
按需调用的库和帮助程序 - >最小化内存使用
这是CodeIgniter很糟糕的地方。在PHP5中,您将创建一个静态方法,并像调用Class :: method();。
一样调用它我曾经讨厌$this->load->helper('form')
等的CodeIgniter方式......
问问自己,现在谁阻碍了?
好文档。不是个人的顶级影响,但它们是用可读的英语写的,有很好的例子
见上文。
可扩展 - 社区编写的大量图书馆
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就是你的选择。
就这件事而言,只是我的两点。
答案 1 :(得分:5)
我完全喜欢CodeIgniter。它没有CakePHP / Rails的神奇功能,但它自动带有一个很好的MVC设置和一个很好的基本库,用于表单,ActiveRecord实现,处理POST数据清理,以及其他我不喜欢的好东西处理每个项目。
他们制作博客的介绍视频就是让我迷上了。良好的语法,良好的实践......不能为你的大小/风格项目推荐它。
修改强>
正如评论者所指出的那样,我会把这些优点列为要点:
小文件大小(下载量为2.1MB,但实际使用的文件大小为1.5MB)
按需调用的库和帮助程序 - >最小化内存使用
很棒docs。不是个人的大肆宣传,但他们用可读的英语写成了很好的例子
可扩展 - 社区编写的大量图书馆
鼓励MVC架构
良好的内置安全功能
答案 2 :(得分:2)
嗯,我亲自尝试过Symphony,Zend Framework和Kohana。从这三个方面来看,Zend Framework在我身上做出了最好的第一印象,也是最好的第二印象。我已经使用它超过一年了(我认为差不多两年),我已经为我的客户编写了几个自定义内容管理系统(每个都特定于我客户的网站需求)。
此外,我目前正在研究我的学士学位项目,该项目也是关于构建一个类型的内容管理系统,我正在使用Zend Framework。
Symphony也很棒,但我有两个问题。
Zend Framework有一个非常好的文档,所以这真的说服我继续使用它,而且StackOverflow上有一个非常有用的社区帮助我解决了许多问题。
我也喜欢它不像Kohana或Symphony那样迅速发展的事实。我是一个喜欢习惯某种做事方式的人,我不喜欢每三个月改变一下习惯。
答案 3 :(得分:1)
熟悉CodeIgniter:允许您实现干净的MVC架构,无需书本说明。社区也很棒,所以你不会孤单。
答案 4 :(得分:0)
除了上面建议的选择(CakePHP,ZendFramework),我还建议你看一下Symfony