文章分类 - CakePHP
摘要:由于译者水平有限,因此不能保证译文准确无误,请在使用中自行鉴别。 本手册虽然不是软件,但是本着GPL的精神发布。 中译版的版权分别属于的译者。 任何人都可以自由使用、分发、转载,包括对本文档进行各种商业性的或是非商业性的复制和再分发,但必须保留译者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它的条件。 您可以自由链接、下载、传播此文档,...
阅读全文
摘要:Cake 规则 第1节 规则,嗯 ? 没错,规则。根据thefreedictionary: 1. 一般约定或者对特定的实践或态度的认可:根据规则,北方一直在地图的最上方。 2. 在一个组里,一个广泛遵守的实践或和过程,特别能促进社会交互;一种习惯:握手的规则。 3. 一种广泛被使用或被接受的设备或者技术,例如在小说,文学或者绘画里:旁白的戏剧规则。 Cake的规则会...
阅读全文
摘要:实例:简单的用户认证 第1节 大蓝图 加入你是一个CakePHP新手,你应该会有很强的意愿复制和粘贴本代码,并在你的关键的,数据敏感处理产品应用程序中使用。抵制他们:本章是Cake内部的一个讨论,不具有应用安全性。在我疑惑我们提供任何相当明显的安全缺陷时,本实例的关键点是向你说明Cake的内部是如何工作的,并允许你创建一个你自己拥有的应用程序防弹衣。 Cake通过它内建的ACL引擎控制访问,那么用...
阅读全文
摘要:Cake Blog创建指南 第1节 介绍 欢迎来到Cake。你可能正在使用本指南,因为你想学习更多关于Cake是如何工作的知识。其目的就是为了提高效率,并且让编写代码变得更加有趣。我们希望当你深入代码时能够体会到这些。 本指南将一步步向你介绍如何创建一个简单blog应用程序。我们会获取并安装Cake,创建和配置数据库,而且构建充分的应用程序逻辑来列出,增加,编辑以及删除blog的post。 下面是...
阅读全文
摘要:View(视图)缓存 第1节 它是什么 ? 自0.10.9.2378_final以来,Cake已经支持view缓存(也称为全页缓存(Full Page Caching).不,我们没有撒谎。你现在可以缓存你的布局和view。通过缓存机制,你也可以将你的部分view标记为忽略。当你正确使用它时,此特性可以明显加快应用程序。 当你请求一个URL时,Cake首先看看请求的URL是否已经得到缓存。如果是,C...
阅读全文
摘要:安全组件 第1节 介绍 安全组件用来保护你的controller动作不遭到恶意的或错误的请求攻击。它允许你创建某些条件,可以在这些条件下请求一个动作,而且有时候指定了如何处理那些不符合需求的请求。在使用安全组件之前,你必须确保‘Security'在你的Controller的$components数组中。 第2节 保护Controller动作 安全组件包含了2个主要方法来限制访问controller...
阅读全文
摘要:请求处理组件 第1节 介绍 在Cake里,使用请求处理组件来决定关于进来的HTTP请求信息。你可以使用它更好的通知你的controller关于AJAX请求,得到关于远程客户端IP地址,以及请求的内容类型,或者去除输出数据中你不想要的数据的信息。为了使用请求组件,你需要确保在Controller的$component数组中指定它。. ...
阅读全文
摘要:Cake 对话(Session)组件 第1节 Cake Session存储选项 Cake预先设置3种方法来存储session数据:在Cake安装目录下作为临时文件存储,使用缺省的PHP机制,或者序列化到数据库中。缺省的,Cake使用PHP缺省的设置。为了覆写它来使用临时文件或数据库,编辑/app/config/core.php里的核心配置文件。将CAKE_SESSION_SAVE常数修改为'cak...
阅读全文
摘要:Data Sanitization 第1节 在应用程序中使用Sanitize Cake带有Sanitize,它是一个让你可以用来避免受到用户提交的数据,以及其他你不期望的数据的恶意攻击的类。Sanitize是一个核心类,因此它可以在代码里的任何地方使用,但是最有可能的是在Controller或Model中使用。 // ...
阅读全文
摘要:访问控制列表(ACL) 第1节 理解ACL如何工作 最重要,也最强大的事情是需要一系列的访问控制。访问控制列表是一种细粒度,易维护以及易管理的方式来管理应用程序权限。访问控制列表或ACL[1]处理2件主要的事情:他们想要的事情,以及想要他们的事情。按照ACL的行话来说,事情想要的使用的原料(最常见的是用户)称为访问请求对象,或者ARO(Access Request Object)。这些实体之所以称...
阅读全文
摘要:数据验证 第1节 数据验证 创建自定义的验证规则可以帮助你确保Model的数据遵循应用程序里的业务规则,例如密码仅可以为8个字符长度,用户名仅可以是字母等。 数据验证的第一步是在Model里创建一个验证规则。为了实现它,在Model的定义里,使用Model::validate数组。例如: /app/models/user.php ...
阅读全文
摘要:插件 CakePHP允许你建立一个Controller,model以及view的组合,并且可以将他们发布为一个已打包的应用程序插件,以至在CakePHP应用程序中,其他可以使用它。在你的一个应用程序中,有一个优秀的用户管理模块,简单的blog或web service模块吗?将它打包为一个CakePHP插件,这样你可以将它使用到其他应用程序中。 一个插件和插件安装的应用程序的主要连接点是应用程序的...
阅读全文
摘要:Helper 第1节 Helper Helper意为着提供许多函数,这些函数通常用在view中,并以一种有用的方式格式化并展示数据。 HTML 介绍 HTML Helper是Cake的一种让开发不再那么枯燥,并且变得更加快速的方法。HTML Helper有2个目标:帮助插入HTML代码中经常重复的部分,并致力于快速简单创建Web表单。下面的章节将为你介绍最重要的Helper函数,但是记住使用htt...
阅读全文
摘要:Cake全局变量和函数 在Cake里,有一些全局变量以及全局函数.在用Cake创建你的应用程序时,你会发现他们非常有用。 第1节 全局函数 在Cake里有一些全局函数可用。其中许多是对PHP的某些长命名函数进行再包装,但是其中的一些(例如vendor()和uses())可以用来包含代码或者完成其他一些有用的函数。如果你打算有一个些非常棒的函数一直完成那些麻烦的事情,这里就有机会哟。 ...
阅读全文
摘要:组件(Component) 第1节 描述 组件是用来在某些特定的情况下辅助Controller的。它没有扩展Cake的核心库,而是把某些特殊的功能放到了组件里面。 在IRC频道里,一个叫olle的小伙子曾经说过:组件是一个有点共享性质的控制源。我们发现这是一个非常好的定义。实际上最主要的目标就是可重用性。组件针对Controller,而Helper则针对view,而他们的最大不同之处在于组件...
阅读全文
摘要:View 第1节 View 一个View就是一个页面模版,通常是在一个动作之后命名。例如,PostsController::add()的视图是/app/views/posts/add.thtml.Cake view是非常简单的PHP文件,因此你可以在他们内部使用任何PHP代码。尽管大多数的view文件包含HTML,view也可以是某些特定数据的任何表现形式,可以是XML,图像等。 在view模版文...
阅读全文
摘要:Controller Controller用来管理应用程序某个部分的逻辑。最常见的是,Controller用来管理单个model的逻辑。例如,如果你正在建立一个理video收集的站点,你可也能会有一个VideoController以及一个RentalController,他们会各自管理你的video以及租赁。在Cake,controller名字一直是复数的。 应用程序的controller类扩展了...
阅读全文
摘要:Model 第1节 model是什么? model是什么?是MVC中的M。 它能做什么?把逻辑从表现层中分离出来,独立应用程序的逻辑。 一般来说,model是一个数据库的访问入口,更特殊的是,它是某个特定数据库表会的访问入口。缺省的,每个model使用数据表,此表的表名是它自己的复数形式,例如,‘User‘model使用’users‘表。Model也可以包含数据验证规则,关联信息,以及指定到它使用...
阅读全文
摘要:Scaffolding(脚手架) 第1节 Cake的Scaffolding非常酷 非常酷,以至于你想在产品中使用它。现在,我们认为它酷,但是请意识到scaffolding是好,但也仅是scaffolding而已。在一个项目的初期,为了开始进行,它是一捆你真正想快点丢弃的材料。这并不意味着它十分灵活。因此,如果你发现你自己真正想定制你的逻辑和视图的话,是时候将你的scaffolding收起来,然后去...
阅读全文
摘要:配置 第1节 数据库配置 app/config/database.php 文件是所有数据库配置放置的地方。一个新的安装是没有database.php的,因此需要一个database.php.default文件的拷贝。一旦你拷贝了一份,将它重新命名: app/config/database.php var $defaul...
阅读全文