`
rainbow686
  • 浏览: 163908 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CakePHP Manual翻译5:脚手架(Scaffolding)

    博客分类:
  • php
阅读更多

脚手架(Scaffolding)

第一节

Cake的Scaffolding非常的优美并且酷毙了

它非常酷,你会想在你的应用中应用它。现在,我们都认为它非常的酷,但是脚手架是……哦,……它仅仅是一个脚手架。在项目的开始他能够快速的为你的项目创造原型。这也就是说他不是很灵活。所以,如果你想真的自定义你的业务逻辑和试图(views),那么是时候放下脚手架,写一些代码了。脚手架是在开发 web应用开始阶段,获得早期版本的非常好的方式。早期的数据库定义会时常发生变化,脚手架非常适合早期的设计过程。一个web开发人员非常讨厌创佳一些不会真正使用的表单,脚手架可以减少这些表单的创建。为了减少开发人员的变化,Cake提供了脚手架。脚手架分析数据库中的表,为数据库的每一条记录创建标准列表的增加,删除和编辑按钮,标准的编辑表单和标准的视图(view)。为应用添加脚手架只需要在controller中添加$scaffold变量:

<?php
class CategoriesController extends AppController
{
var $scaffold;
}
?>

关于脚手架要注意非常重要的一条:它假设以 _id 结尾的字段为外键,并且_id前是外键表的名称。例如,有一个嵌套的类别,你可能有一个列,列名叫parent_id。当他发布,他会调用他的parentid。同样,当你有一个外键在表中(例如titles表中有category_id),他会关联一个正确的model(参见《理解关联》6.2),一个查询会自动从外键表对应的model中组装结果。title类中代码如下:

<?php
class Title extends AppModel
{
var $name = ‘Title’;

var $displayField = ‘title’;
}
?>

第二节

自定义脚手架视图

如果你想脚手架有一些不同,你可以自己创建他们。我们仍然不建议在成型的产品中使用这中技术,但是这样的定制对于原型的迭代非常有效。

如果你想改变脚手架的视图,你需要自己提供:

为单个的Controller定制视图

在下面这些地方为PostsController定制脚手架视图:

/app/views/posts/scaffold/index.scaffold.thtml
/app/views/posts/scaffold/show.scaffold.thtml
/app/views/posts/scaffold/edit.scaffold.thtml
/app/views/posts/scaffold/new.scaffold.thtml

为整个应用定制脚手架视图

在下面这些地方为整个应用定制脚手架视图:

/app/views/scaffold/index.scaffold.thtml
/app/views/scaffold/show.scaffold.thtml
/app/views/scaffold/edit.scaffold.thtml
/app/views/scaffold/new.scaffold.thtml

如果你想自己定义controller的逻辑,那么是时候让从脚手架上下来,自己创建他们了。

有一个特性可能会非常有用,那就是Cake的代码生成器:Bake。Bake可以生为脚手架生成一个代码版本,然后你可以修改这些代码,按照需求去定制你的应用。

分享到:
评论

相关推荐

    cakephp-manual.zip(chm,doc)

    此压缩包“cakephp-manual.zip”包含了两份关于CakePHP的重要资源:《CakePhp.chm》和《cakephp手册打印版.doc》,它们都是深入学习和理解CakePHP框架的宝贵资料。 《CakePhp.chm》是CakePHP的官方帮助文档,以CHM...

    cakephp-jsonapi:用于在CakePHP 3.x REST API中构建标准化JSON响应的库集

    cakephp-jsonapi 用于在CakePHP 3.x REST API中构建标准化JSON响应的库集为什么? 我需要一种一致的方法来从我的API控制器获取REST响应。 此外,Controller需要执行一些基本的设置步骤才能正确处理JSON请求/响应。 ...

    CakePHP manual zh 中文手册

    ### 5. 模型(Models) 模型封装了与数据库交互的业务逻辑。在蛋糕PHP中,使用ORM(对象关系映射)来处理数据,使得代码更加面向对象。你可以通过模型类直接操作数据库表,如`User`模型对应`users`表。 ### 6. 视图...

    cakephp-codesniffer:CakePHP CodeSniffer插件-用于查找和自动更正编码标准问题。 [不再维护]

    CakePHP CodeSniffer插件 为CakePHP 3.0重写 作者:马克·谢勒(Mark Scherer) 该插件提供了一种在您的应用程序上(或其一部分(例如,插件))运行(默认)嗅探器规则的快速方法。 它具有CakePHP应用程序的良好...

    codetron-cakephp2-api:api插件的codetron配方

    **codetron-cakephp2-api: API 插件的 Codetron 配方** `codetron-cakephp2-api` 是一个针对 CakePHP 2.x 框架的 API 开发插件,旨在帮助开发者更高效地构建和管理 RESTful API 服务。这个插件是 Codetron 配方的一...

    cakephp-i18n:一个带有I18n相关工具的CakePHP插件

    用于I18n相关工具的CakePHP插件。 介绍 该插件提供: 路由类,用于生成和匹配具有语言前缀的URL。 中间件,它根据URL中的语言前缀使用I18n::setLocale()设置语言环境,并在访问站点根目录时提供重定向到具有语言...

    cakephp-1.2 manual

    《CakePHP 1.2 手册》是针对该版本框架的重要参考资料,旨在帮助开发者深入理解和有效使用 CakePHP 进行Web开发。 CakePHP 是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它简化了Web应用程序的...

    cakephp-team041:莫纳什大学家庭作业

    【标题】:“cakephp-team041:莫纳什大学家庭作业” 【描述】:“cakephp-team041是莫纳什大学一个课程项目,它涉及到使用PHP编程语言中的CakePHP框架来完成家庭作业任务。这可能包括创建数据库驱动的应用程序、...

    cakephp-codesniffer:CakePHP代码嗅探器

    CakePHP代码嗅探器 此代码可与使用,并根据CakePHP中使用的编码标准检查代码。 该嗅探器软件包完全遵循并在顶部附带许多其他固定器。我应该使用哪个版本? 参见。安装您应该使用composer安装此codeniffer: composer...

    cakephp-version:CakePHP3

    版本CakePHP 4.x插件,可促进版本化的数据库实体安装将以下行添加到应用程序的composer.json : " require " : { " josegonzalez/cakephp-version " : " dev-master "} 接下来是命令: composer update 或者直接运行...

    CakePHP :: Ajax Demo

    This is a simple demo of some of the AJAX helpers now available in CAKE. These helpers are directly modeled on Ruby On Rails. In fact, they were shamelessly ported from rails almost verbatim....

    cakePHP3-celke:CakePHP 3 celke课程-具有管理面板的站点

    CakePHP应用程序框架 使用 3.x创建应用程序的框架。 框架源代码可以在这里找到: 。安装下载或更新composer self-update 。 运行php composer.phar create-project --prefer-dist cakephp/app [app_name] 。 如果...

    CakePHP依赖

    ** CakePHP 依赖管理与 Composer 深度解析** 在 PHP 开发中,库和框架之间的依赖关系管理是一项至关重要的任务。CakePHP,一个流行的 PHP 框架,也不例外。为了确保开发过程中所有依赖项都能正确安装和更新,开发者...

    cakephp3-bookmarkr:使用 Crud 插件构建的示例 CakePHP 3 应用程序

    使用 Crud 插件的 CakePHP 应用程序示例这是一个示例应用程序,它实现了 CakePHP 手册中的书签教程,但使用了。安装下载或更新composer self-update 。 运行...

    Learn CakePHP: With Unit Testing, 2nd Edition

    Learn CakePHP: With Unit Testing by Rādhārādhya Dāsa 2016 | ISBN: 1484212134 | English | 114 pages | EPUB | 1 MB Accelerate your development of PHP applications using the popular CakePHP web ...

    cakePHP中文翻译

    这份文档是 CakePHP 手册的中文翻译,虽然不完整,但包含了对 CakePHP 的基本介绍和关键概念的解析。 **1. CakePHP简介** 蛋糕PHP借鉴了Ruby on Rails的MVC(模型-视图-控制器)架构模式,为PHP开发者提供了便捷的...

    CakePHP-DateRange:一个 Lib 和 Behavior 以促进各种日期范围条件和计算

    CakePHP 日期范围 一个基本的 DateRange 类 安装 git submodule add https://github.com/zeroasterisk/CakePHP-DateRange.git app/Plugin/DateRange or git clone ...

    CakePHP入门翻译手册(序)

    以下是关于 CakePHP 和 MVC 模式的一些详细说明: **模型(Model)** 模型是应用程序的核心,负责处理业务逻辑和数据管理。在CakePHP中,模型通常与数据库中的表相对应,可以用来执行CRUD(创建、读取、更新、删除...

    cakephp-ajax:用于CakePHP的AJAX:用于简化处理AJAX请求的插件

    CakePHP Ajax插件 一个CakePHP插件,使使用AJAX变得容易。 该分支适用于CakePHP 4.0+ 。 有关详细信息,请参见。 这个插件是做什么用的? 基本上是DRY(不要重复自己)和简单的AJAX处理。 演示版 有关实时演示,...

Global site tag (gtag.js) - Google Analytics