在读研究生时期选修了一门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 1.3.x 中文手册,部分英文没有翻译,随后翻译。
标题 "cakephp-cakephp-1.3.8-0-g33afe21" 提供的信息表明,这是一个关于 CakePHP 框架的特定版本,版本号为 1.3.8,Git 修订版号是 0-g33afe21。这通常意味着这是一个开源项目,可能是一个源代码库的归档,或者是...
"cakephp-cakephp-2.0.0-dev-0-gbe96338" 是CakePHP框架的一个特定版本,它代表了该框架在2.0大版本中的一个开发分支。此版本在官方网站上可获取,确保了其官方支持和更新,为开发者提供了稳定且安全的开发环境。 ...
这种设计使得开发者可以更快地理解和开始使用框架,同时保持代码的整洁和可维护性。 标签“cake php”强调了这个框架与PHP语言的紧密关系,表明 CakePHP 是为PHP环境设计的,适合那些熟悉PHP语言并希望利用其优势来...
《深入理解CakePHP 1.2.3.8166:PHP的高效框架实践》 CakePHP,作为PHP世界中的一款知名MVC(Model-View-Controller)框架,以其简洁、高效的特性深受开发者喜爱。在本文中,我们将深度探讨最新的稳定版CakePHP 1.2...
CakePHP 3.x Bootstrap的帮助器 CakePHP 3.x Helpers以@Twitter Boostrap样式生成HTML:可用的Breadcrumbs , Flash , Form , Html , Modal , Navbar , Panel和Paginator帮助器! 如何... ? 安装 如果您想要...
在本文中,我们将深入探讨如何在CakePHP 2.x框架中实现过滤和搜索功能,以创建一个具有分页的动态用户界面。 CakePHP是基于MVC(模型-视图-控制器)架构的PHP开发框架,它提供了一套强大的工具来简化Web应用的开发。...
为什么使用它?**:这部分内容简要介绍了CakePHP的背景和发展历程,以及选择使用它的原因。 - **理解模型-视图-控制器**:深入讲解了MVC架构模式,以及如何在CakePHP中实现这一模式。 - **获取帮助**:提供了多个...
同时,对于想要升级到更高版本如2.0的开发者,理解1.3的基础将为过渡提供坚实的基础。 总结起来,CakePHP 1.3是一个强大且易于上手的PHP框架,其对MVC模式的完美诠释使得开发者能专注于业务逻辑,而不用过于关心...
cakephp-jwt-auth, 使用JSON网络令牌进行身份验证的CakePHP插件 CakePHP认证插件 包含AuthComponent类认证的插件,用于使用 JSON网络令牌进行身份验证。 你可以在这里详细阅读关于JSON网络令牌规范的详细说明。要求...
CakePHP-URL-参数-语言使用 URL 中的参数管理 CakePHP 2.x 应用程序的语言安装要将此功能安装到您的 CakePHP 应用程序中,只需将该项目的“app”文件夹复制到一个新的 CakePHP 应用程序中。 如果您的应用程序不是...
CakeLTE:CakePHP 4.x的AdminLTE插件 安装 您可以使用将此插件安装到CakePHP应用程序中。 推荐的安装作曲家软件包的方法是: composer require arodu/cakelte 依存关系 ,在CakePHP 4中透明地使用Bootstrap 4。 ...
Ajax-Paginacion-Ajax-CakePHP3.zip,实现paginación en ajax usando cakephp3,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分...
CakePHP 3.0.1 发布,此版本是个 bug 修复版本 CakePHP 3.0.0 稳定版是向后不兼容版本,现在 CakePHP 最低要求: PHP 5.4.16 及其以上 mbstring 扩展 intl 扩展
CakePHP 2.x的PrettyDebug插件要求CakePHP 2.x CakePHP DebugKit插件安装有关常规帮助,请参见CakePHP文档中的“”。 将PrettyDebug目录放入您的插件目录中,或从composer.json文件所在的目录中的安装插件: ...
CakePHP 3.X的分析器插件该分析器插件是一个跟踪和报告网站流量的插件。安装您可以使用将此插件安装到CakePHP应用程序中。 推荐的安装作曲家软件包的方法是: composer require cakemanager/cakephp-analyzer:dev-...
虽然此版本可能较旧,但仍有大量的文档和社区资源可供学习,包括官方文档、论坛讨论和教程,帮助开发者了解和掌握CakePHP 1.2.1.8004的使用。 总的来说,CakePHP 1.2.1.8004稳定版为开发者提供了一个可靠的基础,...
Opauth 的 CakePHP 插件用于CakePHP 3.x 插件。 Opauth 是一个多提供商身份验证框架。要求CakePHP >= v3.0 Opauth >= v1.0使用您可以在直接从 Composer 安装 CakePHP-Opauth 插件。如何使用使用 Composer 安装此插件...
在CakePHP 2.x框架中,进行多表联合查询(JOIN)和分页查询是数据库操作中的常见需求,尤其在处理复杂数据时显得尤为重要。以下将详细解释如何在CakePHP中实现这些功能。 首先,多表联合查询是通过JOIN语句来完成的...
CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改 审计日志插件针对的日志插件 2 1. x. 为每个连接的模型创建一个审计历史。行为跟踪两个级别上的更改。 它获取完全水合对象的快照,在更改之后,更改...