php - 高级项目选择什么PHP框架

标签 php drupal cakephp content-management-system kohana

<分区>

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

现在的问题是,我必须对软件架构和开发过程表现出足够的知识和理解。当然,我不会从头开始,但我也无法在我的文档中演示 Drupal

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

我开始使用 Kohana,但我不是很喜欢它。它糟糕的文档和代码库的频繁更改让我停下了脚步。

我在想一些非常小而甜蜜的东西,不会在每一步都出现并说:“嘿,你知道吗,我可以比你做得更好”,比如 CakePHP,也许吧。

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

有什么建议吗?

最佳答案

您应该选择 Kohana。不过,我不明白你避免它的原因。

目前有两个 Kohana 版本,版本 2 和版本 3。

版本

2.* 行的当前版本是:2.3.4 和 2.4 将在文档完成和尘埃落定后发布。 2.4 是 API 更改版本

3.* 行的当前版本是 3.0.3 并且 API 卡住,直到下一个主要版本(许多个月后)。

文档

人们提示 Kohana 文档,我认为这是不合理的。前段时间这可能是真的,但情况已经发生了很大变化。 Kohana 3 有很棒的文档,可以找到 here并在 kerkness.ca 拥有广泛的第 3 方维基百科。 .

2.* 行的文档可能不太好,但它至少足以让您入门。当 2.4 发布时它会和 Kohana 3s 一样好

CodeIgniter 注释

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

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

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

Small File Size (download is 2.1MB, but actual files for use ~1.5MB).

Kohana 也只有几 MB,但这绝不应该成为选择框架的理由。

Libraries and helpers called on demand -> minimizes memory usage

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

我曾经讨厌 $this->load->helper('form') 等 CodeIgniter 方式...

问问自己,现在谁在挡路?

Great docs. Not a big fan personally of the drop-from-top effect, but they're written in readable English with good examples

见上文。

Extensible - good number of libraries written by the community

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 就是您的不二之选。

只是我对此事的 2cents。

关于php - 高级项目选择什么PHP框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253583/

相关文章:

php - SELECT 循环内的 SELECT 循环

php - 如何在 JavaScript 中使用相同的函数验证所有字段?

php - 在多维数组中搜索值并在 PHP 中获取父数组

mysql - Wordpress 和 Drupal SSO/单点登录

PHP-GD 水印 PNG 的透明度未与 JPEG 正确合并

jquery - Drupal 7 + jQuery,如何让 jQuery 仅与事件节点(通过 nid)交互,而不是列表中的每个节点

php - 获取 Cakephp 3 显示 bool 值的真/假

performance - 如何加快 CakePHP 的单元测试

cakephp - 我怎样才能得到cakephp当前模型的外键列名?

drupal - 如何在 ubercart 中主题目录页面?