首页 > PHP资讯 > PHP培训技术 > CAKEPHP脚手架Scaffolding

CAKEPHP脚手架Scaffolding

PHP培训技术
脚手架(Scaffolding)

第一节

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

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

 

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

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

 

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可以生为脚手架生成一个代码版本,然后你可以修改这些代码,按照需求去定制你的应用。

 

http://my.donews.com/niarevol/2007/01/09/DYjepderAsbqXubCsSOehqAyhWgQRMVuKfzZ/

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持16不支持0