阅读从数据库和显示我们的帖子是一个伟大的开始,但我们允许添加新帖子。
首先,首先创建一个PostsController添加()操作:
这里有什么add()操作:如果POST请求的HTTP方法,它试图使用POST模型保存数据。如果由于某种原因它不保存,它只是呈现视图。这给了我们一个机会来显示用户验证错误或其他警告。
每个CakePHP请求包括CakeRequest对象可以通过$ this - >访问请求。请求对象包含有用的信息关于刚收到的请求,并且可以用于控制应用程序的流程。在本例中,我们使用CakeRequest::是()方法来检查请求是一个HTTP POST请求。
当一个用户应用程序使用表单POST数据,这些信息可以在$ this - >请求- >数据。您可以使用公关()或调试()函数来打印出来,如果你想看看它的样子。
我们使用SessionComponent SessionComponent::setFlash()方法来设置一个消息到一个会话变量重定向后显示在页面上。在布局我们SessionHelper:flash显示消息和清除相应的会话变量。控制器的控制器:重定向URL重定向到另一个函数。参数数组(“行动”= >“索引”)转化为URL /职位(也就是说,帖子的索引操作控制器)。您可以参考路由器:url()函数API来看到的格式你可以为各种CakePHP函数指定url。
调用save()方法将检查验证错误,中止保存是否发生。我们将讨论如何处理这些错误在接下来的部分。
我们调用create()方法首先为了重置模型状态保存新信息。它实际上并不创建一个记录在数据库中,但清除模式::$ id和集模型:根据你的数据库字段默认值:$数据。
首先,首先创建一个PostsController添加()操作:
class PostsController extends AppController {
public $helpers = array('Html', 'Form', 'Session');
public $components = array('Session');
public function index() {
$this->set('posts', $this->Post->find('all'));
}
public function view($id) {
if (!$id) {
throw new NotFoundException(__('Invalid post'));
}
$post = $this->Post->findById($id);
if (!$post) {
throw new NotFoundException(__('Invalid post'));
}
$this->set('post', $post);
}
public function add() {
if ($this->request->is('post')) {
$this->Post->create();
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash(__('Your post has been saved.'));
return $this->redirect(array('action' => 'index'));
}
$this->Session->setFlash(__('Unable to add your post.'));
}
}
}
这里有什么add()操作:如果POST请求的HTTP方法,它试图使用POST模型保存数据。如果由于某种原因它不保存,它只是呈现视图。这给了我们一个机会来显示用户验证错误或其他警告。
每个CakePHP请求包括CakeRequest对象可以通过$ this - >访问请求。请求对象包含有用的信息关于刚收到的请求,并且可以用于控制应用程序的流程。在本例中,我们使用CakeRequest::是()方法来检查请求是一个HTTP POST请求。
当一个用户应用程序使用表单POST数据,这些信息可以在$ this - >请求- >数据。您可以使用公关()或调试()函数来打印出来,如果你想看看它的样子。
我们使用SessionComponent SessionComponent::setFlash()方法来设置一个消息到一个会话变量重定向后显示在页面上。在布局我们SessionHelper:flash显示消息和清除相应的会话变量。控制器的控制器:重定向URL重定向到另一个函数。参数数组(“行动”= >“索引”)转化为URL /职位(也就是说,帖子的索引操作控制器)。您可以参考路由器:url()函数API来看到的格式你可以为各种CakePHP函数指定url。
调用save()方法将检查验证错误,中止保存是否发生。我们将讨论如何处理这些错误在接下来的部分。
我们调用create()方法首先为了重置模型状态保存新信息。它实际上并不创建一个记录在数据库中,但清除模式::$ id和集模型:根据你的数据库字段默认值:$数据。