我应该将Drupal或Kohana类型的框架用于Web"应用程序"吗?

And*_*res 6 php frameworks drupal kohana

争论的焦点是我需要一个PHP Framework/Drupal,它可以灵活地为一个潜在的大型应用程序(web和api)添加自定义功能.

然而,通过像Kohana这样的框架,我看到自己用简单的东西来管理和重新发明轮子,比如账户管理和cms的东西.帐户管理和快速数据收集,如快速创建表单,在Kohana中很乏味,但在Drupal中显得简单易行.另一方面,基于我有限的Drupal经验,我怀疑构建快速自定义"功能"并允许用户创建"组"并在这些组中管理自己的角色是Drupal可以轻松完成的事情.

为了简化,Drupal能够实现真正的Web应用程序; 应用程序是服务的位置,并为每个用户提供自定义结果?它是否可以为用户提供类似仪表板的界面来更改其设置或首选项?它可以汇总来自特定用户的数据,以便为他人提供更好的结果/信息吗?

如果是的话,请指点我一些知识:-)

Ilm*_*ari 5

我马上就承认我是Drupal的忠实粉丝而我从未使用过Kohana,因此这篇文章将是片面的.

在我工作的公司,他们使用Drupal或Zend Framework几乎所有项目(Drupal占大多数).许多面向ZF的人不喜欢Drupal,因为它的结构远离面向对象的ZF-stuff,而Drupal"只是一个CMS".正如我所看到的,Drupal更像是一个框架,而不仅仅是一个CMS,最好的部分是它非常灵活:一切皆有可能.

是的,确实存在一个适用于所有事物的模块.更具体:

另一方面,基于我有限的Drupal经验,我怀疑构建快速自定义>"功能"并允许用户创建"组"并在这些组中管理自己的角色是Drupal可以轻松完成的事情.

我只能用快速自定义功能来猜测你的意思,但是用你自己的模块很容易扩展Drupal.大多数功能都可用作(免费,社区贡献)模块,并且可以使用"views"和"cck"模块轻松创建许多高级外观功能. http://drupal.org/project/cck http://drupal.org/project/views

创建组:"organic_groups"(http://drupal.org/project/og)
"og_user_roles"(http://drupal.org/project/og_user_roles)

这些模块是您创建具有组特定角色(以及具有特定权限的角色)的组所需的.除了使用"og_user_roles"之外,可能还有其他方法,但我正在做广告,因为几年前我已经为它制作了一些补丁.问题通常是选择太多.

如果您想扩展组特定选项,您可以编写自己的模块,但很可能您不需要,因为已经有一个模块.例如,至少有120个模块以某种方式与"organic_groups"模块集成:http://drupal.org/taxonomy/term/90?page = 19

为了简化,Drupal能够实现真正的Web应用程序; 应用程序是一个>服务,并为每个用户提供自定义结果?它是否可以为用户提供类似仪表板的界面来更改其设置或首选项?它可以聚合来自特定用户的数据,以便为其他用户提供更好的结果/信息吗?

简而言之,是的.有很多方法可以实现您描述的内容.但可能他们至少会涉及到极好的"观点" - 模块.我认为视图是任何人的某种终极抽象SQL层和UI.并且有超过300个模块以某种方式与视图集成...(http://drupal.org/taxonomy/term/89?page=55)

这听起来Drupal就是这些模块......我知道我的一些同事甚至不喜欢它,因为你从来没有开始编写有趣的东西,因为它已经完成了.至少你可以查看模块代码并从中学习.或者嘲笑它,周围也有许多编程错误的模块.

当您进入编码模块时,您可能需要大量时间来熟悉Drupal API,Forms API,模块挂钩,主题覆盖系统以及来自contrib模块的无限选项.但值得的是麻烦.

我觉得这个网站非常有用,可以找到满足某些特定需求的模块.该网站显示与Drupal.org相同的模块信息,但也显示用户反馈/评级,以找到最佳选项:http: //drupalmodules.com/

如果不清楚,我的答案将与Drupal一起:)

PS:D7应该很快出来.有些人可能会等待而不是从D6开始.在D5期间,由于缺少模块,人们会在升级到D6之前等待很长时间.我相信D7最重要的模块将非常快速地用于D7.目前的一些研究(04.12.2010):

大约190个模块承诺在D7发布的那天有一个Drupal 7版本:http://drupal.org/project/modules? solrsort = sort_title%20asc&text = d7cx&display = table

D7已经有大约130个模块可供使用(大多数模块都包含在上一个链接中):http://drupal.org/project/modules?filters=drupal_core : 103&solrsort=sort_title%20asc&text=d7cx&display=table

编辑:作为一个新手,我只允许发布一个链接,所以,我从drupal.org-links中删除了http://


RJD*_*D22 5

我和Drupal以及Kohana一起工作过.

根据我的见解,这取决于你想做什么.如果您打算制作一个需要增长很多并且应该灵活增长的Web应用程序,那么我建议使用Kohana.Kohana旨在保持您的代码库清洁并支持DRY(不要重复自己).虽然它可能没有Drupal那么多的模块,但它确实有一些Auth和ACL模块.

如果你想快速完成并且你不介意让你的应用程序脱离他们的模块Drupal将快速完成你的工作.但请记住,当您要扩展时,您很可能会遇到来自您不知道的模块的问题.你也需要一点灵活性.

最终这是你的选择.但是我建议你使用MVC框架,如果你要从头开始编写它.