2011-04-26 44 views
2

我正在开发一个需要大量应用程序逻辑(主要是数据库访问)的移动Web应用程序(带有jQuery移动),并且需要尽可能灵活地创建它(我遵循OO PHP与ORM)。Modx vs Yii作为应用程序框架

通过对PHP框架的大量研究,我得出了Yii现在是最有希望的框架的结论。最近,我撞向了模态革命。尽管我没有在寻找一个CMS系统,但它作为一个CMF系统的方法和模板,片段和块的清晰分离提供了很好的可扩展性。

对于每个模型的优点(尤其是学习曲线),您有何看法?

+0

这可能很难得到意见,因为yii和modx是堆栈溢出的较小社区。 – 2011-04-26 19:45:41

回答

5

如果你想创建一个Web应用程序使用像Yii的一个框架(尽管Symfony的看起来相当有前途的太恕我直言)

如果你正在建设一个网站,我会说,那是镆铘罚款(其实真棒)

通过网站,我的意思是典型的页面内容的关系(最喜欢的公司的网站)

通过应用我的意思是少单页内容的网站,如房地产搜索网站或计算器

镆铘是我的,放手,最喜欢的CMS创建超过5页的网站。但不久之前,我面临着类似的问题,框架或模块?我最终选择了一个冒险的选择......那就是MODx Revolution。并且对此感到遗憾......雷沃是一个相当新的东西,在所有问题中,我发现它是最糟糕的。我相信新版本更快,但你知道他们对第一印象的评价。无论如何,埃沃仍然是我的书中的王,但那一边...

好的,好吧,这里是它的地方分解。为什么不选择CMS(甚至与modx :)一样好的主要原因是数据库结构。在所有CMS中,数据库都是面向显示页面的,因此您将拥有典型的标题,链接,内容,元数据等。虽然modx通过模板变量轻松添加附加字段,创建了多对多和一对一的对话框,许多关系都处于不可能和非常困难之间。 (认为​​分隔字符串,创建一个单独的表格,为自定义模板创建处理多个项目的小部件)。如果你使用框架,你必须实现许多好的东西,大多数CMS都已经想出了,比如fckeditor实现,图片上传器,用户管理等等。

创意路由实现起来很简单的框架的另一个优点。 CMSes在这方面比较困难,但并非不可能。但如果你对一个框架感到满意(或者想用它来学习它),你可能会更好地服务于框架路线。那就是如果你相信自己实现比MODx更好的安全性。

好运

+0

所以,你听起来更像是说你用他们已经写过的东西使用modx,但要注意几个让你后悔的陷阱......是吗? – MER 2014-04-07 18:21:59

+1

是的。这个回复已经有几年了,modX可能已经发生了很大的变化,但是我现在用一种不同的方式来总结它,比如“做你自己喜欢的事情”,即如果你对PHP和SQL有很好的了解,您可以自己编写自己的适合您需求的CMS等价物,否则就会依赖于其他人已经投入的产品,使得创建网站变得更加轻松快捷。 – Daniel 2014-04-08 00:32:22

+0

非常感谢。 我们计划将身份验证方案,管理界面和经过测试的代码库用作modx或concrete5作为Web应用程序的基础。我研究过使用一个框架(我真正用过的两个程序中只有两个是CodeIgniter和Zend),为了这两个目的和时间明智地编写或修改经过测试和可靠的代码,这似乎没有任何意义。 (注意:这个应用程序将永远不会有1000个用户现在谈论10到20,如果我们认为它是有道理的,也许达到最低的数百[尽管]可能] – MER 2014-04-08 06:19:14

3

我们使用镆铘创建eco2data.com这是一个包含动态混合Web应用程序环境项目和应用程序页面(组合管理为例)

我们回顾网页内容框架和CMF,并决定采用MODx evo。它可以很好地处理所有登录内容(创建用户,登录,访问权限),并帮助我们将php代码与模板分开。我们使用镆铘内容如下:

  • 型号:PHP文件调用商户DB
  • 查看:模板/组块
  • 控制器:段代码同时包含模型PHP文件(对象),过程信息和叫

大部分的业务内容都存储在另一个数据库,而我们镆铘页面只包含pH值

缺点是大部分的代码存储在镆铘DB,所以它是很难与版本控制系统一起工作。

+0

因此,我们选择了modx revo为我们当前的网络应用程序项目&发现,大多数,如果不是全部的代码可以创建为外部文件(我在我的IDE中修改和存储在源代码管理中)。 此外,我从Bob(http://bobsguides.com/custom-db-tables.html)找到了关于如何使用自定义数据库表(对我的要求)的信息。因此,即使DB创建脚本可以放在源代码控制中... – MER 2014-04-25 21:01:24

+0

是的revo比管理代码好得多。 – Go4It 2014-07-24 08:43:05