51CTO博客开发
内核核验规则 class Validation CakePHP 的 Validation 类包含许多能使模型数据校验更容易的校验规则。这个类包含许多常用的不需要自己编写的校验技术。 下面是全部规则的完整列表及其用法示例。 static Validation::alphaNumeric(mixed $check) 列数据必须只包含字母和数字。
数据校验 对于任何应用程序,数据校验都是重要部分,因为它有且于确保模型中的数据遵守了应用程序的业务规则。 例如,你可能想要确保密码最少要有8位,或者确保用户名唯一。 定义校验规则使表单处理非常非常简单。 校验过程有许多不同的面。本节覆盖的是其中模型这一面。 即:在调用模型中的 save() 方法时发生了什么。 关于如何处理校验错误的显示的更多信息,参见: 表单助手
删除数据 CakePHP 的模型类提供了几种从数据库中删除记录的方法。 delete delete(int $id = null, boolean $cascade = true); 通过 $id 删除记录。默认情况下,同时删除那些依赖于被删除记录的记录。 例如,删除一个与许多 Recipe 记
保存相关模型数据 (HABTM) 通过 hasOne、belongsTo、hasMany 保存有关联的模型是非常简单的: 只需要将关联模型的 ID 填入外键列。 填完之后,只要调用模型上的 save() 方法,一切就都被正确的串连起来了。 下面是准备传递给 Tag 模型的 save() 方法的数据数组格式的示例: 1
保存相关模型的数据(hasOne, hasMany, belongsTo) 在与关联模型一起工作时,When working with associated models, 一定要意识到模型数据的保存总是由相应有 CakePHP 模型来完成。如果保存一条新的 Post 和它关联的 Comment,就需要在保存操作的过程中同时使用 Post 和 Comment 模型。 如果系统中还不存在
保存数据 CakePHP 会为保存模型数据制作快照。准备保存的数据使用如下基本格式传递给模型的 save() 方法: 1 Array 2 ( 3 [ModelName] => Array 4 ( 5 [fieldname1] => 'value' 6 [fiel
hasAndBelongsToMany (HABTM) 现在,你已经是 CakePHP 模型关联的专家了。你已经深谙对象关系中的三种关联。 现在我们来解决最后一种关系类型: hasAndBelongsToMany,也称为 HABTM。 这种关联用于两个模型需要多次重复以不同方式连接的场合。 hasMany 与 HABTM 主要不同点是 HABTM 中对象间的连接不是唯一的
关联:将模型连接在一起 CakePHP 的一个非常强劲的特性就是由模型提供关系映射,通过关联来管理多个模型间的连接。 在应用程序的不同对象间定义关系是很自然的。例如:在食谱数据库,一个食谱可能有多个评论,每个评论有一个作者,每个作者可能有多个评论。 以定义这些关系的形式工作,将允许你以一种直观且强大的方式访问你的数据库。 本节的目的是展示如何在 CakePHP 中计划、定义以及利用模
模型 模型是应用程序中业务层的类。 这意味着它们负责管理工作域中几乎所有的与数据有关的东西:数据校验、交互和信息流演化。 通常模型类代理数据,用于 CakePHP 应用程序的数据访问,多数时候它们代理数据库表,但并不限于此,它也可以访问操纵数据的任何事物,如文件、外部 web service、iCal 事件或者一个 CSV 文件的行。 一个模型可以与其它模型相关联。例如
主题 主题可以使你快捷地切换页面的外观。 要使用主题,只需在控制器中指定主题名称: class ExampleController extends AppController { public $theme = 'Example'; } 在 2.1 版更改: 2.1 以前的版本需要使用 $this->viewCl
视图 视图是 MVC 中的 V。 视图负责为请求生成指定的输出。常用的格式有 HTML、XML 或者 JSON,不过用户可以下载的流文件和 PDF 文件也可以由视图层提供。 CakePHP 为多数常用的渲染情况提供了一些内置的视图类: : 可以使用 JSON 和 XML 视图. 建立 XML 或者 JSON webservices
组件 组件是在多个控制器中共享的逻辑包。如果你发现自己想要在控制器间复制粘贴某些东西时,你就应该考虑将一些功能包装在一个组件中了。 CakePHP 还配备了一套漂亮的、对你有用的核心组件: Security(安全) Sessions(会话) Access control lists(访问控制列表) Emails(电子邮件)
页面控制器 CakePHP 提供了一个默认的控制器 PagesController.php。这是提供静态内容的简单的可靠的控制器。你在安装完看到的主页就是使用这个控制器实现的。 如果你生成了视图文件 app/View/Pages/about_us.ctp,你就可以通过 urlhttp://example.com/pages/about_us 访问
脚手架 应用程序脚手架是一种允许程序定义和创建具有建立、查询、更新和删除对象的应用程序的技巧。CakePHP的脚手架还允许程序员定义对象如何与其它对象交互,建立或断开它们的连接。 脚手架用于建立一个模型和它的控制器。一旦你在控制器中设置了 $scaffold 变量,就可以运行了。 CakePHP 的脚手架非常酷。它使你可以在几分种内就完成一个基本的 CRUD 应用程序。它
网上流传着这样一张图片: 很励志的一张图片,一点一小点进步,最后就有了一个大进步! 仔细一想,不对呀,这好像不是一天一点进步累积成一个大进步,那个37.8实际上是最后一天需要做出的进步(相对于第一天)。 以第一天为1,第二天要比第一天进步1.012,最后一天要进步第一天的1.01365。以学外语为例,第一天学10个单词,那这一年的最后一天,就要学378个单词,豁,好吓人啊
请求和响应对象 在 CakePHP 2.0 中请求和响应对象是新的。在之前的版本中,这些对象是用数组来表示的,相关的方法分散在RequestHandlerComponent、Router、 Dispatcher 和 Controller 中。请求包含的信息上没有认证对象。在 2.0 中,CakeRequest 和 
控制器 控制器是 MVC 中的 ‘C’ 。在应用了路由且正确的控制器被找到之后,控制器的动作(action)被调用。控制器将处理解释请求数据,确保正确的模型被调用,确保正确的输出或视图被渲染。控制器可被视为模型和视图的中间人。你要保持控制器很精炼,而模型类很丰满。这会帮助你更容易地重用你的代码,并使你的代码更易于测试。 通常,控制器用于管理单个视图逻辑。例如,你为一
CakePHP 概述 欢迎来到 CakePHP Cookbook,这是一本使用 CakePHP web 应用程序框架开发一块蛋糕的的手册! 本手册假定你了解 PHP,并且有面向对象编程(OOP)方面的基础知识。 框架中的不同功能使用了不同的技术 —— 类似于 SQL、JavaScript 和 XML ——本手册不准备讲解这些技
CakePHP 的结构 CakePHP 包括控制器、模型和视图类,还包括一些能使 MVC 编程更快更容易的附加的类和对象。组件、行为和助手就是这样的类,它们提供扩展和利用,以使你能在基于 MVC 类的应用程序中快速添加功能。 现在我们将保持在一个较高水平上,找一找如何使用这些工作的详细信息。 应用程序扩展 每个控制器、助手和模型都有一个父类,你可以用它来定义应用程序内
CakePHP 的文件夹结构 在你下载并解压 CakePHP 之后,你将拥有如下文件和文件夹结构: app lib vendors plugins .htaccess index.php README 你要注意三个主要的文件夹: app 文件夹是你工作的主要位置:应用程序文
CakePHP 约定 我们是约定优于配置的忠实信徒。花费很少的时间来学习 CakePHP 的约定,长远来看,会节省你的时间:通过遵循约定,你能够获得免费的功能,并且可以从维护和追踪配置文件的梦魇中解脱。约定还造成了系统开发的统一性,使其他程序员更易于加入和提供帮助。 CakePHP 约定提炼于多年的 web 开发经验和最佳实践。 我们建议你在用 CakePHP 编程时使用这
一个典型的 CakePHP 请求 我们已经在 CakePHP 中覆盖了基本的要素,让我们看看对象如何共同协作完成一个基本的请求。 下面是原始请求的例子,让我们想象我们的朋友 Ricardo 刚刚点击了 CakePHP 应用程序中登录页 “Buy A Custom Cake Now!” 链接。 流程图显示了一个标准的 CakePHP 请求 数
路由 多数情况下,CakePHP 的默认路由都能够很好地工作。对用户体验和搜索引擎兼容敏感的程序员将注意到 CakePHP 的 URL 映射到动作的方式。所以在这篇教程里我们仅仅快速的更改了一下路由。 路由技术的更多更高级的信息,请参见 路由配置 。 默认的,CakePHP 用 PagesController 回应对站点根的访问(例如 www.exam
建立 Post 视图 现在已经有了数据流、模型、程序逻辑和定义数据流向的控制器。我们要建立与上面例子中的 index 动作对应的视图。 Cake 视图仅是呈现应用程序布局的片段。对于多数应用程序,视图是混合了 PHP 的 HTML,但是它也可以是 XML、CSV,甚至是二进制数据。 布局是包装视图的处理显示的代码,能够定义和切换,但是现在,我们使用默认的布局。 还记得上
入门 CakePHP 框架为应用程序提供了坚实的基础。它控制着所有方面,从用户的初始请求直到 web 页面的最终渲染。由于本框架遵循 MVC 原则,使得自定义和扩展应用程序变得更容易。 本框架还提供了一个基本的原始结构,从文件名到数据库表名,保持了应用程序的一致性和逻辑性。这个概念简单而强劲。遵循规则,就会知道东西都在哪儿,都是怎样组织的。 体验和学习 CakePHP 的最好办法是坐
安装 CakePHP 很容易安装。最小安装只要有一个 web 服务器和一份 Cake 的副本,就足够了!本手册主要聚焦于在 Apache 上安装 Cake(因为 Apache 最通用), 你也可以在 LightHTTPD 或者 Microsoft IIS 之类的 web 服务器上配置运行 Cake。 必备的软件 HTTP 服务器。例如: Apache。 mod
欢迎 CakePHP cookbook 是一个开放的编程社区可编辑文档项目。我们希望保持一个高质量的、有效的、准确的文档。 随处可读 差不多在任何地方都可以享受 CakePHP cookbook. PDF和EPUB格式现在都可用,你可以在更多的设备上离线阅读本文档。 PDF EPUB 源代码 入门 创建一个博客 从 博客介
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号