cakephp实例

基本的配置:
数据库设置     我这里使用的是数据库news  
apache : rewrite module 打开
我这里是设置好一个虚拟主机指向到www/app,如果是虚拟目录方式,查看相关文档。

新建news表 里面的字段 id,title,content,time,sort

因为一定要操作news这个表,所以先建立news的model
/app/models/news.php

<?
class news extends AppModel{
var $name='news';
}
?>

如果没有var $name='news';这一行 模型会默认为要处理的表是newss(个人猜想,没试过)
是这个属性来标识使用的数据库 var $useTable='users'; $name 只是标识model 的name
属性$table 估计是在处理model之间关系的时候用到的吧? 保存此疑惑
然后新建/app/controllers/news_controller.php
<?
class newsController extends AppController{
var $uses=array('news');     //使用news这个模型
function index(){
     $this->set('lists',$this->news->findAll())
}     //默认
function add($id=0){
     if($id){
      $this->set('id',$id);
      $this->news->id=$id;
     }
     if(!empty($this->data)){
      $ret=$this->news->save($this->data['news']);
      if($ret){
       if($id)
       $this->flash('更新成功','/news/');
       else
       $this->flash('添加成功','/news/');
      }else{
       if($id)
       $this->flash('更新失败','/news/add/'.$id);
       else
       $this->flash('添加失败','/news/add');
      }
     }
     exit();
}     //添加/修改
function delete($id){
     $this->news->id=$id;
     $ret=$this->news->remove();
     if($ret)
      $this->flash('删除成功','/news/');
     else
      $this->flash('删除失败','/news/');
   
     exit();
} //删除
function view($id){
     $this->news->id=$id;
     $this->set('news',$this->news->find());
}
}
?>
这样就可以访问
http://127.0.0.1/app/news/ (跟 http://127.0.0.1/app/news/index 一样)
http://127.0.0.1/app/news/add
http://127.0.0.1/app/news/view
http://127.0.0.1/app/news/delete

但是访问的时候会有提示你miss view add.thtml view.thtml delete.thtml index.thtml
因为cake会默认输出的view名为你当前的action名 如果要让它按自己的意愿输出使用$this->render('test'); 也就是 test.thtml
这些thml文件都在/app/views/controller/目录下面     当前的controller 是news
所以文件放在/app/views/news/目录下
add.thtml:
<?echo $html->formTag('new/title'.$id);?>
<?echo $html->input('new/title');?>
<?echo $html->textarea('new/content');?>
<?echo $html->submit('submit');?>
</form>

index.html:

news:
<br>
<?
for($i=0;$i<count($lists);$i++){
?>
title:<?=$lists[$i]['news']['title']?>
<?
}

?>

view.thtml:

title:<?=$news['news']['title']?>
content:<?=$news['news']['content']?>

 

你可能感兴趣的:(数据库,function,Module,delete,Class,cakephp)