在è?ç ”ç©¶ç”Ÿæ—¶æœŸé?‰ä¿®äº†ä¸€é—¨Web Engineerçš„è?。当时è?程是java servlet+ Tomcat + Mysqlå¼?å�‘一ä¸?±»ä¼¼facebook的社交网站ã?‚è?课的è€�师æ��起过æ?架,说æ?架的用é?”在于å‡�少自己早è½?�的时间ã?‚è?Œå?ä¹ æ?æž¶æˆ�æœ?œ¨äºŽè?Documentation,é?šå¸¸éœ?è¦�一ä¸?œˆçš„æ—¶é—´åŽ»å¦ä¹ 摸索。但æ˜?¸�以为然,è‡?·±å¾’手æ�?§¯æœ¨æ‰�æ˜?…·ç‚?¼Œæ‰�牛逼ã??br>
真æ?接触框架这个东西,还æ˜?015å¹´åˆ�,刚刚开始进入工作ã?‚当时使用了曾ç»�NXPå®žä¹ æœŸé—´å�?�¥çš„一ä¸??æž¶Cakephp。Cake早期的æ?�想æ˜?™¾åˆ†ä¹‹ç™¾ç»§æ‰¿RoR (Ruby on Rails),比如migrationã€�command line。当然è?人们诟病的是Cakeæ•°æ�®å°�è?模å¼�,å��å�‘于关系型数æ�?º“。虽然Cakephpå�?ƒ½æ²¡æœ‰Lavare那么知å��,但æ˜? ¸å¿ƒå¼€å�‘人员,社区活跃度以å�Šé—®ç”社区的é—??ä¾�旧很å?ã€?br>
对刚接触建站的朋å�‹ï¼ŒCakephp的开å�‘很高效,扩展方便ã?‚以å�Šå?于励志æˆ�为构架师的ç?鞋,阅è?Cakephpæ ¸å¿ƒä»£ç �çš„å?ä¹ ä»·å€¼ï¼Œä¸?ººè®¤ä¸ºå¾ˆé«˜ã€‚åˆ�期é?šè¿‡å¯¹Cakephpå°�è?çš„API使用,了解普通MVC框架的基æœ?¨¡å�—和功能。在进阶的过程ä¸ï¼Œé˜…è¯»æ ¸å¿ƒä»£ç �,从è?Œç�†è§£å…¶ä¸?š„设è?原ç�†ã€‚最å�Žé?šè¿‡ä¼˜åŒ–代ç �,达到èž�汇贯通的地æ?。笔者作为一å��åˆ�出茅åº�çš„phper,å�Œæ ·ä¹Ÿåœ¨å¼€å�‘䏿‘¸ç´¢å’ŒåŠªåŠ›ï¼Œå¸Œæœ›ä¸ºèƒ½å¤Ÿé˜…è¯»åˆ°æ¤æ–‡çš„è?å�›æ��供自己的æ‰?æ€�所想,与å�›ä¸?å�Œè¿›æ¥ã??br>
这个系列主è?以翻译Cakephp 3 Cookbook为主,ç�€é‡�介ç»�使用Cakephp 3的开å�‘项ç›?¿‡ç¨‹ä¸çš„体会,å�Œæ—¶ç©¿æ�’介ç»�Cakephp 3的特点ã?‚希望é?šè¿‡ä»‹ç»�翻译Cakephp 3ï¼?为Cakephpå�šä¸€äº›å°�å°�的贡献,也希望通过这个系列认识志å�Œé�“å�ˆçš„æœ‹å�‹ã??br>
在进入细节之间,我们先了解快速的讲述ä¸?些Cakephp 3的功能ã??br>
1). 命å��约定(Naming Conventionsï¼?br>Cake,å?å�ŒRoR,Djangoç‰æ?架,æ��ä¾›ä¸?套完整MVC约定å��称。使用命å��约定,å�?»¥ä¾¿åˆ©åœ°ä½¿ç”¨Cakeæ��供的一些功能ã?‚å�Œæ—¶å?于项ç›?¹‹å�Žä»£ç �的维护也有å¸?Š©ã€‚å?于开å�‘过程,命å��约定有助于开å�‘效率ã??br>
2). æ•°æ�®å±‚(Modelï¼?br>Cakephp 3的数æ�?±‚相较于Cakephp 2,有了明显的æ��å�‡ã€‚ä¸�仅支æŒ�MYSQL,PostgreSQL,Microsoft SQL Server,SQLiteç‰ï¼Œå�Œæ—¶ORMæ��供两ç?ä¸�å�Œçš„æ•°æ�®CRUD API。使用è?…å�¯ä»¥ä½¿ç”¨åŽŸç”Ÿçš„SQLè¯?�¥è°ƒç”¨æ•°æ�®åº“,ç�µæ´»åœ°å?ç�†query。Entity处ç�†ç±»æ��供一套å°�装的API,使用APIå�?»¥å®‰å…¨åœ°å?ç�†æ•°æ�???br>
3). 视图层(Viewsï¼?br>视图层æ��供基æœ?š„æ•°æ�®å±•现。模æ�¿ä»¥å�Šæ‰©å±•模å�—高效地ç®?化代ç �,使å‰�ç«?»£ç �æ›´åŠ ç®€æ´�,å�?»¥é‡�å?利用。å�Œæ—¶è?图层æ��供了完备的RESTFUL应用,包括XML,JSONç‰èµ„æº�,å�?»¥é€šè¿‡URI的形å¼�,为网站æ��ä¾›web serverã€?br>
4). 控制层(Controllersï¼?br>æŽ§åˆ¶å±‚ä½œä¸ºæ ¸å¿ƒé?»è¾‘层,有效的是数æ�®å±‚和视图层结å�ˆèµ·æ�¥ã?‚é‡�è¦�的算法处ç�†ï¼Œå�¯ä»¥åœ¨è¿™ä¸ªå±‚实现和完善ã€?br>
Â
Â