欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Cakephp 3.x (前言-为什么要使用使用框架)

程序员文章站 2022-04-06 16:37:25
...
在读研究生时期选修了一门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 3.x (前言-为什么要使用使用框架)