首页 > 编程语言 >cakephp 学习1

cakephp 学习1

时间:2022-12-02 11:07:00浏览次数:40  
标签:index Task 学习 link action array cakephp id


1 安装配置

   下载1.2的版本吧,之后解压

2 在httpd.conf中设置
   <Directory "f:/myphp5/cakephp">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>

3 一个简单的例子CRUD的
  A model层
    <?php
class Task extends AppModel {
var $name = 'Task';
var $validate = array(
'title' => array(
'rule' => VALID_NOT_EMPTY,
'message' => 'Title of a task cannot be empty'
)
);
}
?>

  B CONtrol层
    

<?php
class TasksController extends AppController {
var $name='Tasks';
var $helpers = array('Html', 'Form', 'Time');


function index($status=null) {
if($status == 'done')
$tasks = $this->Task->find('all', array('conditions' =>
array('Task.done' => '1')));
else if($status == 'pending')
$tasks = $this->Task->find('all', array('conditions' =>
array('Task.done' => '0')));
else
$tasks = $this->Task->find('all');
$this->set('tasks', $tasks);
$this->set('status', $status);
}


function add() {
if (!empty($this->data)) {
$this->Task->create();
if ($this->Task->save($this->data)) {
$this->Session->setFlash('The Task has been saved');
$this->redirect(array('action'=>'index'), null, true);
} else {
$this->Session->setFlash('Task not saved. Try again.');
}
}
}


function edit($id = null) {
if (!$id) {
$this->Session->setFlash('Invalid Task');
$this->redirect(array('action'=>'index'), null, true);
}
if (empty($this->data)) {
$this->data = $this->Task->find(array('id' => $id));
} else {
if ($this->Task->save($this->data)) {
$this->Session->setFlash('The Task has been saved');
$this->redirect(array('action'=>'index'), null, true);
} else {
$this->Session->setFlash('The Task could not be saved.
Please, try again.');
}
}
}

function delete($id = null) {
if (!$id) {
$this->Session->setFlash('Invalid id for Task');
$this->redirect(array('action'=>'index'), null, true);
}
if ($this->Task->del($id)) {
$this->Session->setFlash('Task #'.$id.' deleted');
$this->redirect(array('action'=>'index'), null, true);
}
}

 }
?>
C VIEW层
    在view目录下建立子目录tasks
      index.thtml:
         <h2>Tasks</h2>
<?php if(empty($tasks)): ?>
There are no tasks in this list
<?php else: ?>
<table>
<tr>
<th>Title</th>
<th>Status</th>
<th>Created</th>
<th>Modified</th>
<th>Actions</th>
</tr>
<?php foreach ($tasks as $task): ?>
<tr>
<td>
<?php echo $task['Task']['title'] ?>
</td>
<td>
<?php
if($task['Task']['done']) echo "Done";
else echo "Pending";
?>
</td>
<td>
<?php echo $time->niceShort($task['Task']['created']) ?>
</td>
<td>
<?php echo $time->niceShort($task['Task']['modified']) ?>
</td>
<td>
<?php echo $html->link('Edit', array('action'=>'edit',
$task['Task']['id'])); ?>
<?php echo $html->link('Delete', array('action'=>'delete',
$task['Task']['id']), null, 'Are you sure you want to delete this');?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif; ?>
<?php echo $html->link('Add Task', array('action'=>'add')); ?>
<?php if($status): ?>
<?php echo $html->link('List All Tasks', array('action'=>
'index')); ?><br />
<?php endif;?>
<?php if($status != 'done'): ?>
<?php echo $html->link('List Done Tasks', array('action'=>
'index', 'done')); ?><br />
<?php endif;?>
<?php if($status != 'pending'): ?>
<?php echo $html->link('List Pending Tasks', array('action'=>
'index', 'pending')); ?><br />
<?php endif;?>

   add.thtml:
    <?php echo $form->create('Task');?>
<fieldset>
<legend>Add New Task</legend>
<?php
echo $form->input('title');
echo $form->input('done');
?>
</fieldset>
<?php echo $form->end('Add Task');?>
<? echo $html->link('List All Tasks', array('action'=>'index')); ?>

  edit.html:
    <?php echo $form->create('Task');?>
<fieldset>
<legend>Edit Task</legend>
<?php
echo $form->hidden('id');
echo $form->input('title');
echo $form->input('done');
?>
</fieldset>
<?php echo $form->end('Save');?>
<?php echo $html->link('List All Tasks', array('action'=>'
index')); ?><br />
<?php echo $html->link('Add Task', array('action'=>'add')); ?>
<?php echo $html->link('List Done Tasks', array('action'=>
'index', 'done')); ?><br />
<?php echo $html->link('List Pending Tasks', array('action'=>
'index', 'pending')); ?><br />

   

 

标签:index,Task,学习,link,action,array,cakephp,id
From: https://blog.51cto.com/u_14230175/5906222

相关文章

  • cakephp中加载第三方类的一点注意的
    在cakephp中,加载其他不相关的类,有三种方法,例子如下:<?phpclassTasksControllerextendsAppController{var$name='Tasks';functionin......
  • go学习笔记
    go下载https://golang.google.cn/dl/gopath配置建立一个文件夹,用来存go的项目,在环境变量中加入GOPATH,指向这个文件夹一些重要必要的配置 1、goproxy代理设置......
  • 【Docker学习系列】Docker学习2-docker设置阿里云镜像加速器
    在上一篇中,我们学会了在centos中安装docer。我们知道,镜像都是外网的,镜像一般都是比较大的,因为种种原因,我们知道,从外网下载比较慢的。所以,本文,凯哥就介绍怎么将docker的镜像......
  • MarkDown学习
    #MarkDown学习##标题###三级标题####四级标题##字体**helloworld!***helloworld!****helloworld!***##引用>此内容可以此处##分割线---***##图片......
  • Java学习-笔记本电脑常用快捷键
    #笔记本电脑常用快捷键笔记本快捷键大全图解-百度经验          ......
  • 8.golang语言学习,运算符介绍
    1.算术运算自增,自减,只能单独使用,++,--只能写在变量后面2.赋值运算符优先级,单目运算,赋值运算从右到左运算,其余从左到右,无三目运算,用if实现3.比较运算符/关系4.......
  • study-python 一个用于保存python学习的代码的仓库
    opencv-study文件夹2022年11月30创建OpenCV是一个图像处理库。它包含大量图像处理函数day01文件夹p1.py本代码功能:读取图像数据img=cv.imread(cv.samples.findFi......
  • 【转】wcf系列学习5天速成——第四天 wcf之分布式架构
    wcf系列学习5天速成——第四天wcf之分布式架构 今天是wcf系列的第四天,也该出手压轴戏了。嗯,现在的大型架构,都是神马的,nginx鸡群,iis鸡群,wcf鸡群,DB鸡群,由一个人作......
  • 【转】wcf系列学习5天速成——第五天 服务托管
    wcf系列学习5天速成——第五天服务托管 今天是系列的终结篇,当然要分享一下wcf的托管方面的知识。 wcf中托管服务一般有一下四种: Console寄宿:    ......
  • 【转】wcf系列学习5天速成——第三天 事务的使用
    wcf系列学习5天速成——第三天事务的使用 今天是速成的第三天,再分享一下WCF中比较常用的一种技术,也就是”事务“。 在B2B的项目中,一般用户注册后,就有一个属于......