6.实例程序
1).建表
CREATE TABLE players (
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(50) NOT NULL,
position VARCHAR(25) NOT NULL,
team_id SMALLINT(6)
)
CREATE TABLE teams (
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
}
2).控制器(controller)
/app/controllers/players_controller.php
<?php
class PlayersController extends AppController
{
var $scaffold;
}
?>
/app/controllers/teams_controller.php
<?php
class TeamsController extends AppController
{
var $scaffold;
}
?>
3).模型(model)
/app/models/player.php
<?php
class Player extends AppModel
{
var $name = 'Player';
var $belongsTo = array('Team' =>
array('className' => 'Team',
'conditions' => '',
'order' => '',
'foreignKey' => 'team_id'
)
);
}
?>
/app/models/team.php
<?php
class Team extends AppModel
{
var $name = 'Team';
var $displayField = 'name';
}
?>
运行: http://localhost/cake/teams
可以添加,修改,删除,列表
这个利用了scaffolds,没有自己写视图.可以去掉$scaffold,控制器的方法和视图都要自己写了
另外还有一点不爽,视图文件的扩展名都是thtml,不能用dw可视编辑,不过可以把cake\libs\controller\controller.php里的 var $ext='.thtml'改成html就可以直接用html视图文件了
此外,在生成的html页面里,总是有cakephp的标志(上面有大大的标题CakePHP Rapid Development
,下面还有一个cakephp的图标),虽然是cakephp的东西,但放到自己的项目中看起来总是不顺眼,要去掉
的话就修改
cake\libs\view\templates\layouts\default.thtml,这个是视图文件的通用模板框架(带头部和脚部)