Cakephp 笔记

1. 自定义 layout

在 cakephp 中 layout 默认指向 /app/views/layouts/default.thtml

如果要自定义 layout,需要在 controller 中定义:

var $layout = 'mydefault';

layout 则指向了 /app/views/layouts/mydefault.thtml

  1. 创建不使用数据库表的 model 或者改变 model 对应的表名

我需要创建一个不使用任何表的model。例如,我想通过 $validate 数组方便底验证输入数据,保持model逻辑的正确性。但创建 model 时对应的表不存在,CakePHP 就会报错。通过在 model 中加入以下代码可以解决这个问题:

var $useTable = false;

你也可以通过这种方法改变model对应的表名。

var $useTable = 'some_table';

  1. 快速创建后台管理

如果你需要创建后台管理程序,并且希望所有管理action都位于某个特定文件夹下,那么打开 config/core.php 并将下面这一行的注释去掉:

define('CAKE_ADMIN', 'admin');

这样所有以"admin_"开头的action都可以通过 /admin/yourcontroller/youraction 来访问。例如,如果在 posts controller 中创建了名为 "admin_add" 的 action,那么可以通过 www.example.com/admin/posts/add 访问这个action。这样就可以方便地为 admin 目录设置密码以避免他人随意访问。

  1. 自定义404页面

如果你需要自定义404页面,只需创建 /app/views/errors/error404.thtml。

  1. 让controller使用其他model

如果你的controller需要调用来自不同model的数据,只要在controller开头使用如下代码:

class yourController extends AppController {
    var $uses = array('Post','User');
}

这样controller就能访问Post和User model了。

2007-11-13 117 cakephp framework php 笔记

Zend 框架摘要

Zend 框架组件包括:

Zend_Controller

此模块为应用程序提供全面的控制。它将请求转化为特定的行为并确保其执行。

Zend_Db

此模块基于 PHP 数据对象 (PDO) 并提供一种通用方式来访问数据库。

Zend_Feed

此模块使使用 RSS 和 Atom 提要变得简单。

Zend_Filter

此模块提供字符串过滤函数,如 isEmail() 和 getAlpha()。

Zend_InputFilter

对于 Zend_Filter,此模块是用来操作数组的,如表单输入。

Zend_HttpClient

此模块使您能轻易地执行 HTTP 请求。

Zend_Json

此模块使您能够轻易地将 PHP 对象转换成 JavaScript 对象符号,反之亦然。

Zend_Log

此模块提供通用日志功能。

Zend_Mail

此模块使您能够发送文本文件和多部分 MIME 电子邮件。

Zend_Mime

此模块被 Zend_Mail 用来解码 MIME 消息。

Zend_Pdf

此模块用来创建新的 PDF 文档,及加载和编辑现有文档。

Zend_Search

此模块使您能在现有文本上执行复杂搜索。例如,您可以建立一个搜索引擎,该引擎可以基于相关性或其他因素返回结果。

Zend_Service_Amazon、Zend_Service_Flickr 以及 Zend_Service_Yahoo

这些模块提供对这些 Web 服务 API 的简单访问。

Zend_View

此模块处理 MVC 模式的 “视图” 部分。

Zend_XmlRpc

此模块使您能够轻易地创建 XML-RPC 客户机。(已为将来计划好服务器功能。)

编码准则

当您为 Zend 框架编码,或使用其编码时,您应该遵循特定的准则。这些准则是为了使团队项目变得更加简单而设计的。换句话说,通过定义编码规范,您不仅能避免接下来的问题,而且能够使其他人更容易阅读您的代码。Zend 框架文档中包含几页指导准则,比如:

  • 确保文件整洁。换句话说,在文件头、标准的四格缩进等前面不能有任何前导或者后置的空格,这些空格会调用 Web 服务器导致意外地发送内容。
  • 有且只有当类作为 Zend 框架的一部分时,而不仅仅是使用 Zend 框架时,类名才以 Zend_ 开头。
  • 在函数名中下划线是禁止的。而是使用小写开头大小写间隔的方式(如 getTodaysDate())。
  • 只有当变量是 private 或 protected 类型时,才以下划线开头。
  • 将所有的变量声明为 private、protected 或者 public,而不要使用 var。
  • 使用标准的 PHP 标记(如 ),而不是简写方式 ()。
  • 确保您的代码易于阅读。换句话说,当使用一个句号 (.) 连接文本时,确保在句号前后加上空格以便于阅读。同理,当声明一个数组时,要在逗号后面加上空格。
  • 如果您必须通过引用传值,那只能在函数声明中这样做。调用时通过引用传值是不允许的。
  • 任何 PHP 文件都必须包括能被 PhpDocumentor 阅读的文档,并且编码准则指定了特定的最少标记。
2007-11-09 111 framework php zend