作者:bj_gqdy_342 | 来源:互联网 | 2017-05-13 02:18
在读研究生时期选修了一门Web Engineer的课。当时课程是java servlet+ Tomcat + Mysql开发一个类似facebook的社交网站。讲课的老师提起过框架,说框架的用途在于减少自己早轮子的时间。而学习框架成本在于读Documentation,通常需要一个月的时间去学习摸索。但是不以为然,自己徒手搭积木才是酷炫,才牛逼。
真正接触框架这个东西,还是2015年初,刚刚开始进入工作。当时使用了曾经NXP实习期间听来的一个框架Cakephp。Cake早期的思想是百分之百继承RoR (Ruby on Rails),比如migration、command line。当然被人们诟病的是Cake数据封装模式,偏向于关系型数据库。虽然Cakephp可能没有Lavare那么知名,但是核心开发人员,社区活跃度以及问答社区的问题依旧很多。
对刚接触建站的朋友,Cakephp的开发很高效,扩展方便。以及对于励志成为构架师的童鞋,阅读Cakephp核心代码的学习价值,个人认为很高。初期通过对Cakephp封装的API使用,了解普通MVC框架的基本模块和功能。在进阶的过程中,阅读核心代码,从而理解其中的设计原理。最后通过优化代码,达到融汇贯通的地步。笔者作为一名初出茅庐的phper,同样也在开发中摸索和努力,希望为能够阅读到此文的诸君提供自己的所思所想,与君一同进步。
这个系列主要以翻译Cakephp 3 Cookbook为主,着重介绍使用Cakephp 3的开发项目过程中的体会,同时穿插介绍Cakephp 3的特点。希望通过介绍翻译Cakephp 3, 为Cakephp做一些小小的贡献,也希望通过这个系列认识志同道合的朋友。
在进入细节之间,我们先了解快速的讲述一些Cakephp 3的功能。
1). 命名约定(Naming Conventions)
Cake,如同RoR,Django等框架,提供一套完整MVC约定名称。使用命名约定,可以便利地使用Cake提供的一些功能。同时对于项目之后代码的维护也有帮助。对于开发过程,命名约定有助于开发效率。
2). 数据层(Model)
Cakephp 3的数据层相较于Cakephp 2,有了明显的提升。不仅支持MYSQL,PostgreSQL,Microsoft SQL Server,SQLite等,同时ORM提供两种不同的数据CRUD API。使用者可以使用原生的SQL语句调用数据库,灵活地处理query。Entity处理类提供一套封装的API,使用API可以安全地处理数据。
3). 视图层(Views)
视图层提供基本的数据展现。模板以及扩展模块高效地简化代码,使前端代码更加简洁,可以重复利用。同时视图层提供了完备的RESTFUL应用,包括XML,JSON等资源,可以通过URI的形式,为网站提供web server。
4). 控制层(Controllers)
控制层作为核心逻辑层,有效的是数据层和视图层结合起来。重要的算法处理,可以在这个层实现和完善。
以上就介绍了Cakephp 3x 前言-为什么要使用使用框架,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。