说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

专访ThinkPHP创始人刘晨:用最简单最快速的方式开发PHP应用

HTML文档下载 WORD文档下载 PDF文档下载
ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷Web应用开发而诞生的。CSDN记者专访了ThinkPHP项目的发起人刘晨,请他来详细介绍这一框架及背后的故事。

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷Web应用开发而诞生的。

ThinkPHP早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想、JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。

我们采访了ThinkPHP项目的创始人和核心开发者刘晨,请他来详细介绍这一框架。


刘晨,ThinkPHP项目创始人和核心开发者

CSDN:ThinkPHP项目是怎么诞生的?

刘晨:其实我03年的时候接触过一年多的PHP开发工作,然后后来从事J2EE开发,在深圳市委项目组做了一年多,发现如果用PHP来开发会简单很多,于是06年初自己写了一个简单的PHP框架(那个时候叫FCS),在我的博客发表,也就是ThinkPHP的前身,后来用户群大了之后,觉得应该有一个更明确的定位,在07年正式更名为ThinkPHP,后来完善ThinkPHP框架的初衷,一半是兴趣一半是用于自己的一些项目需要。

ThinkPHP发布至今,“简单、快速开发”的原则一直没有变化。

CSDN:ThinkPHP提供了哪些功能?能够帮助开发者解决实际开发中的哪些问题?

刘晨:ThinkPHP提供了完整的MVC解决方案,所以熟悉ThinkPHP后可以不依赖其他第三方的模版引擎和ORM,然后就是底层的统一处理和安全过滤,以及对多数据库的支持。

CSDN:与其他类似PHP框架相比,ThinkPHP有哪些独创的特性?性能上ThinkPHP表现如何?

刘晨:ThinkPHP经历了7年多的发展和积累后,形成了自己的一些特色和创新,包括:

  • 基于XML和标签库扩展的编译性模版引擎;
  • 人性化和强大的ORM和查询语言;视图模型的引入;
  • 项目编译;
  • 对SAE的平滑和横跨支持;
  • 还有就是一系列单字母大写函数(哈哈,不得不说,它流行了)。

至于性能方面,我们每发布一个新版本都有所改进,网上也有很多的评测数据,而且我们也有不同的模式扩展处理不同的场景需要,所以说“性能不是问题”。

CSDN:就您所知,目前有多少项目基于ThinkPHP框架开发?

刘晨:2008年ThinkPHP发布了2.0版本以后,用户规模和项目使用开始快速增长,我们也经常在社区听到某某网站也是用ThinkPHP开发的声音,这些案例不乏一些大的IT公司和知名企业,如果用搜索引擎搜索相关信息的话,可以搜到很多,事实上,很多时候我访问的一些新的网站,有大概不到三分之一的情况是基于ThinkPHP某个版本开发的。

CSDN:ThinkPHP项目核心开发人员有哪些?是否有社区人员参与贡献?你们是如何进行分工或协作的?

刘晨:我们的核心开发人员包括公司成员和社区成员,有10来个吧,有些用户是阶段性参与,参与贡献的社区人员就多了,协作的话核心成员有专门的群,社区的贡献主要是官网和Github了。

CSDN:ThinkPHP下一步的计划和目标是什么?

刘晨:ThinkPHP除了会不断努力完善框架之外(今年下半年应该会有新的版本出来),也希望能整合所有的ThinkPHP用户资源形成一个平台或者说生态,除了完善ThinkPHP配套之外,一起来推动Web应用快速开发。

CSDN:对于国内的开源项目如何实现盈利,您有什么建议?

刘晨:国内的开源项目盈利状况非常艰难,而且要做好服务更难,但这是将来实现盈利模式的前提。项目开源、服务收费——我想这应该是很多开源项目的盈利模式吧,但是这个需要一定的用户积累。

CSDN:ThinkPHP项目已经托管在CSDN Code平台上了,经过这一段时间的使用,您认为Code平台还需要在哪些方面进行改进?

刘晨:基本上,在选择托管到Code平台之前,我们已经初步进行过评估,觉得无论从用户体验和速度方面,都还不错,我们也非常愿意支持国内的托管平台。

我个人觉得,托管平台速度和稳定最重要,毕竟很多时候都是在本地操作为主,所以,如果将来可能的话,也希望CSDN能开发一个本地的客户端工具来管理和维护Code平台的项目。

CSDN:对于此次“开源中国开源世界高峰论坛”和“开源群英会2013”,您有什么建议?

刘晨:说实话,我出席这样的大会不多,这次也主要是想过来学习和交流下,有想到的建议的话我会及时反馈的。

CSDN:您希望在大会上见到谁?您想听到的分享话题是什么?您想与其他开发者讨论的话题是什么?

刘晨:既然是CSDN组织的开源大会,作为一个开源业者,我关心的是CSDN如何来给开源作者创造好的生态以及发展机会。

和其他开源开发者讨论的话题我想应该是分享经验和探讨模式吧,呵呵。

刘晨将出席“第八届开源中国开源世界高峰论坛”和“开源群英会2013”。我们还邀请了100多位开源项目开发者和布道者,如果你想与他们面对面交流,就赶紧报名参会吧。

大会官网:http://ocow.csdn.net/

如果你是一名开发者,关注开源,并在开源领域有一定的贡献(开源项目开发者、布道者或推广者等),可申请价值499元的大会门票一张,我们会根据你对开源的贡献进行审核,并确定你的参会资格。名额有限,申请从速。如果确认参会,请填写申请链接: http://surveies.csdn.net/survey/comein/591

前Facebook资深员工王淮给技术创业团队的十点建议 微软发布Windows Embedded 8系列操作系统 Google Play 4.0抢先体验 中国 vs. 非洲:移动医疗的前世今生 Java大数据框架初创企业Concurrent获400万美元融资 基于Edge Animate开发CSS3 Animations 后端服务商Firebase发布全新iOS SDK [爆料]百度云或在秘密打造实时移动Web App开发框架 打造最佳开发团队的几点建议 Facebook与开发者交恶 扼杀第三方应用 负载大逃亡:四十二路怪兽联军及七条逃生法则 那些年,MIT技术男们奇妙的黑客作品 深度分析:腾讯3.3亿美元收购Epic股份值吗? 传下一代iOS或将推行扁平化设计 iOS开发者注意:苹果将拒绝访问UDID的应用上架 领先Google、Amazon、Dropbox,Apple云存储用户最多 传IBM重新设计晶体管 预计五至七年内成熟 快讯:云计算大会6月召开 云计算概念企业股票飙升 集成开发环境:Qt Creator 2.7.0发布 移动周报:“今日头条”CEO,爱冒险的技术宅 从China Daily的iPad版,看中国纸媒如何摆脱“旧情结” 天睿推出大数据探索平台:“开箱即用”的数据分析 Basho开源Riak CS,与AWS S3兼容的云存储架构 MongoDB Days北京杂记 VMware携手亿阳信通 铺垫混合服务 行业应用,移动优先:移动难七大痛点剖析 HTML5开发必备:游戏开发资源合集 老而弥坚:65岁传奇Android工程师谈开发 2013中国云计算有奖大调查,每周大奖等你拿! Google Reader之死另一个不为人知的原因 小团队谈推广:豆果、金山、微博易、面包旅行 想建立一个公司内部的拔号服务器,像163/169那样?? 问两个简单的C语言问题 如何控制IE的工具条,比如刷新按钮! applet显示问题 新手:关于GDI,怎样取窗口非Client区域的DC? 使用asp连接webservice,实现短信的插入,发送,2003操作系统msxml3.dll 错误 '8000000a' ,2000没事 DataSet或DataView中如何实现类似数据库命令 LIKE 的筛选功能? 如何删除ini中的某个Section 祝大家中秋节快乐!怎么在日志组中增加日志文件?? 使用5xsoft upload组件上传到服务器时,如何检查里面是否包含危险代码? 中秋快乐,关于内存释放问题 内存分配存在的问题 怎么设计ADSL的路由!! javaben的释放问题 用NMUDP如何在Client端和Server端之间传递对象呢? 为什么程序员没人爱? 指点迷津啊??? 关于DataGrid的一个问题 VCD碟的.DAT文件转换成MPEG格式? 中秋节快乐!散!顺便问一下大家都吃什么品牌的月饼?五点钟准时结贴!!!!!!!!!!!! 求助!!!鲁文易盘无法驱动 如何获取提交表单的内容 Ado 问题 oracle中删除一个用户,用语法如何写 北京的兄弟们你们找工作通过哪几种方式 请问哪儿有cobol的编译器? 请问考系分的兄弟,都在看什么辅导书啊? 不能解决的给分,解决的给钱,时间限制在,13日之前!!!!!!!!!!!! 如何重新定义超连接的样式? ini和注册表能不能一起用? 调制解调器 SYNC灯不亮。 hehe GCC不认识sockaddr_in,但认识sockaddr,哪位大侠指点一下是什么地方没有配置好 asp中的过程和函数是否可以传递两个以上的参数? 假设我在dataGrid中的修改某一个单元格内容之后,焦点还没有离开,再去保存,就保存不了! 求助!!!鲁文易盘无法驱动,急!!!!!!!!!! 为什么只能用localhost访问? 还是烦人乱码问题~~JSP 连不上网。 人家说我有热情没天分,当不了程序员 中秋节给大家助助兴,小游戏一只,最终获胜的可获全部分数,100大分哦! 简单问题,急! 请教零长度问题(不好意思没分了救命啊) 请教零长度问题(不好意思没分了救命啊) sizeof的问题 今天的最近一问.... 写一个参数有默认值的函数出现的问题! 请教零长度问题(不好意思没分了救命啊) 有个关于可见性的问题,请指点, Delphi6中控制Excell2000的Chart的问题 看哪个地方出名人多 一只小船装有一堆干木块(不知道干字是不是重点)浮于水池水面上,如果把木块全部丢入水中,水面将A上升 B下降 C不变 D无法确定 别具一格的具是什么意思 ZEN和zeke 这两个英文名字 消费者行为学中,从众行为的心理、社会文化因素分析;以及从众现象的形式与从众因素 岂能尽如人意,但求无愧我心.的传统美德和现实意义分别是什么啊 已知2x+y-8z=0,3x-y-7z=0,求2x+3y-2z/x-2y+3z的值 为什么是这个结果#include void main (){\x05char c;\x05char str[10];\x05char a;\x05scanf("%c,%s,%c ",&c,str ,&a);\x05printf("%c%s%c\n",c,str,a);}当输入a,bcd g的时候,为什么输出结果是“abcd?而不是abcdg?还是我的程序写错 为什么有这个结果?#includeclass animal{public:animal(){cout 为什么会是这个结果?为什么做出来的结果会第一项,第二项都显色~我问的是乙肝三对 ,我是检验的实习生,现在在医院实习乙肝三对有5项我都是按步骤加样的,为什么第一项,第二项都显色~这应 文安有多少个村 文安怎么样啊 美主播为“杀光中国人”言论向示威者鞠日男子扮高富帅专哄按摩女 谎称投资骗日本人气漫画《海贼王》发行总量将超3希腊内衣商发明“社交内衣”:解扣可自德国锁定美情报部门窃听站位置 位于使印度一客车爆炸起火44人死 司机清洁法国多名知识分子请愿维护嫖妓权 被称1990至2010年北半球平均气温或全球发展中国家每年新增200万名15研究:男性关注女性身材多于面部长相(伊拉克向美国请求军事援助 对抗“基地体彩公告近一年回报超13%不该再拿大郅当救命稻草杜蕾斯天猫旗舰店送奖规则随意改市十四届人大三次会议明年1月25日召活动信息“虎皮苍蝇”“领导打来电话”骗你转账42家单位榜上有名夫妻角色互换台湾一女子和母亲抢男友 主动献身:我终极战兵超级警监万傀仙帝霸天邪神八荒镇仙录另类明星天下布武录韩娱之制作人大亨美利坚大帝重生成刀重返18岁峨眉山博物馆旅游汤湖公园旅游琵琶溪旅游成吉思汗拴马桩旅游丹霞赤壁旅游开明禅寺旅游鹰嘴岩旅游东方文化园旅游世纪广场旅游三台梦迹旅游蝴蝶谷旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘