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

专访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

DARPA:4年内推出具备触觉的机械手 Silver:用Swift编写iOS、Android和.NET应用 Swift没有异常处理,遇到功能性错误怎么办? 基于Python的测试驱动开发实战 不能守株待兔!移动互联网时代:产品找用户 淘汰传统屏幕,虚拟现实新纪元何时开启? 《近匠》SENSORO CTO赵东炜:解密iBeacon生态 我由Angular转向React,为什么? 产品设计中的九个注意事项 昂贵、复杂、不可靠!智能家居产品的尴尬现状 Facebook的CIO都做些什么? 穷游网CTO黄向阳:成果与价值是最好的驱动力 2015移动游戏行业方向标:创业者必须关注的几个领域 基于Python的行为驱动开发实战 面向WP和Android!微软车库发布多款免费应用 GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架 革命,就是现在!——CES 2015行纪 HTML5游戏引擎排行榜 Construct 2最受欢迎 2015手游营销新趋势:电视广告,及其投放逻辑 详解下一代开源混合应用框架Reapp 应用内一键交易!Google公布Android Pay项目 Timehop为什么要放弃Rails,转向Go? 无线充电技术走入客厅 宜家推出“Home Smart”系列 发布仅一年,虚幻引擎4宣布完全免费! HTML5初学者福利!11个在线学习网站推荐 Qualcomm发布Snapdragon 820与超声波指纹识别技术 App Store应用僵尸化:没品质没资本的必然走向 Unity 5正式发布:支持21种平台、个人版免费! 创新高性能移动UI框架——Canvas UI 框架 取精华、去糟粕!适合iOS开发者的15大网站推荐 Swift如何优化性能? 纯技术问题:精通“书签“与“层“的大虾请进!!!! 一个奇怪的现象,请教高手这是怎么回事? 哪里有破解清华五行卫士密码的软件? vc++7.0好用吗? 吃完晚饭了... 可不可以让 CppWebBrowser1的背景不是白色? 热热热!!!热疯了!!! 我的喇叭哪儿去了? 我的PB程序出了问题了!!! sql server中哪个函数是用于字符串与整型之间转换的? 我想限定文本输入框只能输入10个汉字或20个英文字符,但文件输入框却只能输入10个英文字符,如何解决? 当我将这样的字符串“dsdsdsdfsdffsdsdfsdfsfdsdfsdfsfsfdsdffs.....”放入我的表格中时,无论怎样设置也不折行,影响了部局,如何解决? MFC中视图(view)是怎样随着主窗口的大小改变而改变的。 急!请教!!猫猫连接,用数据管道同时访问两库,访问不到对方的网络库(sybase) 关于电影下载 我已经把一个exe文件加入到我自己的程序中了,请问在我的程序中应该样调用该exe文件呢? 哪位高手知道RTF格式的含义?或者更好,知道Rxlib中的RXRICHEDIT控件中识别RTF格式的方法? Delphi编写的DLL在VC下不能使用 请问哪儿有电工的<>的电子版下载?我只有这么多了 msdn2001年4月版的讨论 请问哪儿有电工的<>的电子版下载? 请教高手!!!! 请进 各位:周末愉快!为何我的多表查询用updatebatch提交时总是报错? 我不明白!!!! 请问,BAS 与 VBJ 有什么区别吗?为何他们安装在同一个目录呢? 如何得到系统进程的列表? vi下如何撤销操作? 我们知道MFC中的对象序列化做得很好,不知在DELPHI中怎样来实现对象的序列化? 我已经学过C++,想学VC++请问哪本书入门比较好啊? 欢迎使用技巧酷skillstore beta 1.00 有个可以显示IP的QQ,很不可思议,讨论一下好吗? 怎样在程序运行的时候加上参数,比如说双击文本文件打开记事本 谁有运行后烧硬件的程序 用VC开发如何实现网页的同步浏览呢? 动态产生的datawindow怎样调整它的显示? 怎么从ORACLE白痴到高手 怎样通过程序员考试??????? 庆祝北京成功 COM基础问题 感谢huangguanshu回答我的问题,请进来拿这200分 老问题了,access to SQLserver 关于的js问题(高分相送) 谁有运行后烧硬件的程序,要多少分都给. 请高手赐教, DDDW 的问题 ?谁有运行后烧硬件的程序,要多少分都给. hotmail box怎么用不了? sql的image型字段内容如何输入? 谁有运行后烧硬件的程序,要多少分都给 谁有运行后烧硬件的程序??要多少分都给 谁有运行后烧硬件的程序???要多少分都给 已知a=2+√3,b=2-√3,求代数式a²b-ab²的值 试用适当方法表示由二元二次方程组y=x+2,y=x²的解组成的集合 求教求教QAQ 方程x²-9=0的解集是? 已知 a+b=3,则a²-b²+6b的值是 已知a=1/3,b=0.2,求代数式a³-b³/a²+ab+b²的值 1:已知m=x-y,n=xy,试用m,n表示(x³+y³﹚²,2:当x=-1时,x³+2x²﹣5x-6=0,请根据这一事实,将x³+2x²-5x+6分解因式.没分了,不好意思, 若a²+2a+b²-6b+10=0,求a²-b²的值 已知实数a、b满足ab=1 a+b=2 求代数式a²+b²的值. 设Y=X²-ax+b,A={x|x-y=o},B={X|y-ax=0},若A={1,-3},求集合B(用列举法表示) 已知a²+b²+4a+6b+13=0,求a,b的值 已知(a+b)²=7,(a-b)²=3.求a²+b²、ab的值 设集合A={x|x²-2x-3=0},B={x|x²-ax-a²+1=0}(1)若a=-1,求A∪B(2)若A∩B={3},求实数a的值 已知a+b=3则a的²-b的²+6b的值为 已知:(a+b)²=7,(a-b)²=3.求a²+b²和ab的值 若集合A={-1,3}集合B={x|x²+ax+b=0}且A=B求实数a,b 2a²+6b²=3,则a+b的最小值是 已知(a+b)²=7,(a-b)²=3,则a²+b²与ab的值分别是 已知a+b=5.ab=3,求a ²+b ²的值 已知(a+b)²=7,(a-b)²=3,求(1)x²+y² (2)xy的值 设A={(x,y)|y=x²+2x+5},B={(x,y)|y=ax+1},问:(1)a为何值集合A∩B有两个元素?(2)a为何值时,集合A∩B至少有一个元素? 已知a+b=5,ab=3,求a²+b²的值 已知a+1/a=7,求a²+1/a²的值 用列举法表示集合A={y/y=X²,-1≤x≤1,x属于N},-1≤x我知道-1≤x≤1 中x=-1,0,1 因为x属于N,所以x=0,1 x的值用集合可表示为{0,1}.当x=0时 y=0 ,当x=1时 y=1 所以A={0,1}.亲 这是为什么呢 已知a+b=5,ab=3,求,a²+b²的值 用配方法证明:代数式-x²+6x-8的值一定不小于1. 集合P={(x,y)| y=x²+2,|x|≤1,x∈Z},用列举法表示集合P 已知a+b=3,ab=1,求(a-b)²的值 用配方法证明:代数式-x² 6x-8的值一定不大于1 集合﹛﹙x,y﹚│y=-x²+6,x∈N,y∈N﹜怎样用列举法表示?问题在于它没给符号,那我怎么表示? 已知(a-b)²=3,ab=-1/2,求(a+b)²的值 用配方法说明代数式X²-6x+10的值大于0 '用列举法表示下列集合 (1)A={x∈N∈0 已知ab满足a+b= 3,ab=2,求a²+b²的值 用配方法说明:代数式x的平方-6x+13的值恒大于0 用列举法表示下列集合 ①A={x|x²=9} ②B={x∈N|1≤x≤2} ③C={x|x²-3x+2=0} 已知a=3+2√2,b=3-2√2,则a²b-ab²的值为? 用配方法证明代数式5X的平方-6X+11的值,恒大于0 2x²-3x=2 2x²-4根号下2x+3=0 3x²+2x=0 用配方法解方程 a+b=3,ab=2求a²+b²的值 用配方法说明代数式中x平方-12x+40的值恒大于零 解方程:2x²+2/x²-7x+2=0 如果a²-ab=3,b²+ab=2,那么a²+b²的值是多少? 用配方法说明:无论x取何值,代数式2x-x的平方-3的值恒小于0. 写出由方程x²-(a+1)x+a=0的解组成的集合中的元素答案清楚,就是不知道怎样描述这个集合,希望过程能写详细点 己知a²+ab=3 ,b²+ab=2,求a²+b²的值 用配方法说明代数式X平方--5X+7的值恒大于0 以方程x²-4x+4=0和方程x²-x-2=0的解为元素的集合中含有___个元素. 若|a+3|+(b-2)²=0,求ab的值. 代数式x^2+2mx+2m^2+1的值恒大于零 以方程x²-4x+4=0和方程x²-x-2=0的解为元素的集合中含有几个元素 已知,√a+1+(a-b-3)²=0,求ab的值 , 设a=1/2m+1,b=1/2m+2,c=1/2m+3,求代数式a²+2ab+b²-2ac-2bc+c²的值.要过程! 用列举法写出方程 x²-(a+1)x+a=0 的解集 已知a=3+2√2,b=3-2√2,求代数式a²b-ab²的值. 若代数式mx²+2(3-2m)x+1(m≠0)是关于x的完全平方式,求m值 用列举法表示下列方程x²-2x+1=0的解集 已知a(a-1)-(a²-b)=2,则代数式ab-(a²+b²)÷2的值为急求 试用适当的方法表示由二元二次方程组{y=X+2} 组成的集合 { y=X²}试用适当的方法表示由二元二次方程组{y=X+2} 组成的集合{ y=X²} 用公式法解关于x的方程ab(x²+1)=a²x+b²x(a²>b²)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn