7个使用和不使用ThinkPHP的理由

7个使用和不使用ThinkPHP的理由

7个使用ThinkPHP的理由:


1. 最基本的PHP框架

如果你从来没有使用过PHP框架,那么你至少应该选择一个PHP框架,这比完全自己写代码要好得多,至少有很多常见的问题框架的文档都会提及。而PHP框架中,ThinkPHP会是理想和基础的选择之一。我本人曾尝试过国外多用的Laravel,作为初学者,并没有发现Laravel比ThinkPHP有什么优越之处,反而缺点多多。

2. 中国人做的开源框架

符合国内大部分PHP开发者使用习惯,中文文档及社区完善。很多人懂,意味着容易招人。容易上手。而其它所有PHP框架基本上都是国外的(除了鸟哥惠新宸的Yaf),需要英文阅读能力过关,偶尔还要翻墙。

3. 完善的文档

ThinkPHP有很完善的技术文档以及教程,不像国外的PHP框架写得很简单(简洁)。验证码、微信开发等主题也有涵盖。视图的语法也描述得很清晰(国外的PHP框架一般默认程序员已经知道视图的各种特殊语法)。可以认为,国外的PHP框架大多对高手友好,ThinkPHP对刚入门的程序员友好。

4. 简洁的路由和参数

如果使用默认的路由方式,不需要定义哪个URL由哪个函数处理,开发者从URL就能很容易地找到处理的代码以及传入的参数,这让代码结构变得很规范、美观。比如说,URL为http://localhost/Home/Index/course,那么Controller就在Application/Home/Controller/IndexController::course(),View就在Applicaiton/Home/View/Index/course.html。如果页面很简单,没有动态内容,那么我们连Controller都可以不写。

5. 支持验证码、微信、图片处理、IP定位等功能

支持这些常用的功能,让人感觉很方便。

6. 学习曲线低

相比起国外的PHP框架,对于中国人来说ThinkPHP应该算最容易学的了。(尽管我个人最喜欢学习曲线陡峭、被一般人认为只是一个CMS的Drupal。)

7. 容易部署

对PHP版本要求不高,对服务器也不需要怎样配置。我之前用过Laravel的人尝试部署到腾讯的PHP服务器,结果发现腾讯服务器的PHP版本太低,部署不了,要自己买台虚拟机。那些国外的PHP框架用了很多强大的脚本,敲几条命令就可以把框架装好。可以命令到了国内就会遇到网络问题。这一点上,还是原始地下载完整框架代码的方式比较简单。

7个不使用ThinkPHP的理由:


1. 没有多环境的配置机制

开发网站通常需要在本地配置、然后放到测试服务器、然后放到生产环境。那么我们需要有3套的配置文件(数据库的账号密码)。但是ThinkPHP不像Laravel等框架可以把多个环境的配置区分开来,并且ThinkPHP的应用配置文件放在Application/Common/Conf/config.php,也就是说,如果我们想用rsync命令把所有代码同步到服务器,会把服务器的配置覆盖。这一点很不方便。

2. 没有内置发送邮件的支持

需要自己安装扩展,缺乏这个基本功能不太方便。

3. 没有内置用户管理、权限控制的支持

这是每个网站都需要有的功能,连这个也不支持很不方便。对于新手来说,可能还不懂得怎样构建权限控制的模型,让系统很容易出安全漏洞。在网上也很难找到一个质量高的完整例子。

4. 国内的开源PHP框架

这个其实不是什么缺点,但是会被部分人鄙视。这种偏见有其合理性的一面,因为ThinkPHP框架本身以及社区里使用ThinkPHP程序员的平均水平要低于国外的PHP框架,长期混在这一社区水平难有提高。

5. 页面跳转机制设计不太好

ThinkPHP在页面处理有一个返回成功或失败消息的机制,显示该消息几秒后跳转到新页面。这样做有两个缺点:1. 增加了一次额外的页面请求。2. 用户可能还没有看清楚消息就跳转了。同时,这种跳转的机制和jQuery Mobile的Ajax加载页面模式不兼容。像Drupal里把需要返回的结果信息显示在下一个页面里是更优的设计。

6. 搜索答案效率低下

国内的事问百度,国外的事问Google。用Google问IT问题的人都知道Stack Overflow这个网站,都知道找到这个网站的链接就基本上找到答案了。但是ThinkPHP是国内的技术,要问百度,在百度找答案是很累的。国内的文化是很乐意共享别人的东西(例如盗版电影、软件链接),但不乐意共享自己原创的东西(论坛下载资源要先注册一下,只共享不能运行的代码片段)。

7. 功能略简单

整个ThinkPHP的功能看半天文档基本看完,用一个星期做一个网站也基本可以了解其大部分功能。虽然基本的功能都有了,但可深入挖掘的东西不多,适合入门,不利于长期积累。一年的ThinkPHP经验和一个月的经验差不多。学一些功能复杂的PHP框架,有利于工作时间长的程序员积累更多,相比起经验不多的程序员有更高的效率。

来自:http://cto.eguidedog.net/node/202

weinxin
我的微信
把最实用的经验,分享给最需要的读者,希望每一位来访的朋友都能有所收获!
avatar

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Replies to:4   Visitors  4   Admin  0

    • avatar 想赚大钱就这样投资 来自天朝的朋友 搜狗浏览器 Windows 7 广东省广州市 电信 1

      第一次来,留个脚印

      • avatar 想赚大钱就这样投资 来自天朝的朋友 搜狗浏览器 Windows 7 广东省广州市 电信 1

        :razz: 第一次来,留个脚印