我用yii来代替drupal的七个理由

我用yii来代替drupal的七个理由

ID:34768350

大小:86.18 KB

页数:3页

时间:2019-03-10

我用yii来代替drupal的七个理由_第1页
我用yii来代替drupal的七个理由_第2页
我用yii来代替drupal的七个理由_第3页
资源描述:

《我用yii来代替drupal的七个理由》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、我用Yii来代替Drupal的七个理由NOV24,2010 / 东至笔记 / 开源,翻译&分享由东至翻译,原文来自EricKennedy的博客,原作者为RealSelf.com的CTO和联合创始人。你可以在Twitter上关注他@erickennedyDrupal7马上就要出正式版了,很多网站需要开始抉择是否要从Drupal5/6升级到最新了。如果你需要搭建大量的站点并且想要快速创建站点的同时避免大量的编码工作,又或者你想要一个博客类型的站点,那么Drupal是很好的选择。在Drupal上运行站点就像生活在double-wide:无力承担自定义主机的妥协

2、方案。如果你已经有了一个Drupal站点并且已经成长到可以雇佣一个全职开发人员的事或,你需要迁移你的站点到YiiPHPframework。(PHP的反对者可以跟随TheOnion使用DjangoPHPframework,然而更换框架和语言会花费更多的时间。)我是一个站点的CTO,我们的站点在2010年4月30日从Drupal转换到了Yii。当时还很难找到相关资料,更别说Yii的书籍了,仅有很少的关于从Drupal转到Yii的评论,其提供的信息也少的可怜。我很担心Yii会比现在被我们深度优化过的Drupal要慢,所以我决定在30天内重写站点的20%(这些代

3、码提供了网站80%的功能)。这在我看来是一个测试Yii框架的生产力和性能的绝佳机会,而且一旦发现Yii并不能胜任,我可以迅速切换回Drupal。我的Drupal网站有150,000节点(每个节点都有自定义URL)50,000人/天的访问量,Yii居然比Drupal网站还要快得多。没错,我们当时确实在重构的30天(后来又追加了15天)内忙得焦头烂额,但是现在看来值了!以前我们花费在优化Drupal缓慢的查询上的时间现在可以用在更好的地方,而且在Yii上开发比在Drupal上有趣多了。Yii给我带来的真正好处在后来我们重新设计网站的时候体现了出来。通过使用Y

4、ii的MVC构架,我们仅仅修改了2个布局文件,要知道,在Drupal下我们可是要重写一打的文件。距离转换到Yii刚刚一年,以下是我们学到的东西:1.Drupal不是避免重构的最好的方案。Drupal主要卖点是对于开发这来说“为什么还要自造CMS系统?”。就像其他的开发者一样,我已经重构过整个网站(在1999和2000),并且希望可以将专注于网站业务而不是忙于用户认证,从数据验证到防护SQL注入攻击等。我加入的公司在我2007年4月来之前就已经在使用Drupal,并且我在彻底抛弃它转向RubyonRails之前还对Drupal有过期望。Ruby的狂热让我想

5、起1997年的Java狂热。我当时还在WebExcompetitor当实习生。在997-1999年,这个公司在硬件和VM都缺乏扩展性的情况下使用了Java进行服务器编程,这直接毁灭了他们的平台。PHP后来在Friendster的重构和Facebook上证明了自己的能力,并且我们的用户也不想再看到失败的大鲸鱼了。所以,很自然地我们从Drupal着手而不是自己一行行地堆砌代码。但是PHP5框架在2008年的时候一窝蜂地涌现出来,并且在2009年进入测试。现在,一个PHP开发者开发一个应用(并且全职工作在这个站点上)的时候,他们可以选择使用一个框架来重构或者使

6、用PHP类库(PECL或PEAR)。1.如果说Drupal是一个框架,只有RubeGoldberg才会喜欢。Drupal被设计成可以在只有少量的PHP编程背景下扩展网站。如果你只是想有一个有着简单内容,少少流量的网站,Drupal很好用。如果你是个全职工作者,整天写模块来自定义表单或者添加功能,你会发现你的花在和谐掉Drupal里面不用的功能的时间比使用框架来说更多。Yii的哲学正相反——你可以使用类似RubyonRails中的ORM,这够快并且可以优化10%的硬编码的数据库查询语句。2.社区贡献的模块因为不需要的复杂性设计而倾向于表现各种特性并且有着很

7、多BUG。网络上有太多的社区贡献的Drupal模块,如果你是个全职开发者,你可能会像我们当时那样只吸收一部分特性到自己的模块中。Drupal的图片缩放和缓存模块是一个极好的例子。因为这个模块的通用化设计(这样你才可以使用任意数量的模块!),模块中充斥着大量你可能永远也用不到的功能。对我们来说,我们只需要可以制作任意大小缩略图就行了,就像ImageMagick做的那样。为了达到这个目的,我启动了4个模块,每个模块都有很多PHP文件:ImageAPI,ImageMagick接口模块,ImageCache,还有ImageCacheUI。然后,数据库中还有两个表

8、和生成缩略图有关。如果升级上述任何一项,将会花费很长时间来诊断所出现的问题。Yi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。