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框架,有利于工作时间长的程序员积累更多,相比起经验不多的程序员有更高的效率。
相关文章:7个使用ThinkPHP的理由
评论