我只是想知道是否有人能让我开始在CakePHP框架上编写私人消息系统。我的目标是类似于Facebook收件箱系统。当然,它不一定非常复杂!CakePHP私人消息系统
我目前有一个AUTH系统,用户可以登录和注销。
我只是想知道是否有人能让我开始在CakePHP框架上编写私人消息系统。我的目标是类似于Facebook收件箱系统。当然,它不一定非常复杂!CakePHP私人消息系统
我目前有一个AUTH系统,用户可以登录和注销。
最简单的方法是在最起码,五列只创建一个messages
数据库表:id
,sender_id
,recipient_id
,subject
,body
。然后您也可以添加您想要的其他列,如created
。
然后,您可以设置控制器,如下所示:
<?php
class MessagesController extends AppController {
public function inbox() {
$messages = $this->Message->find('all', array(
'conditions' => array(
'recipient_id' => $this->Auth->user('id')
)
));
}
public function outbox() {
$messages = $this->Message->find('all', array(
'conditions' => array(
'sender_id' => $this->Auth->user('id')
)
));
}
public function compose() {
if ($this->request->is('post')) {
$this->request->data['Message']['sender_id'] = $this->Auth->user('id');
if ($this->Message->save($this->request->data)) {
$this->Session->setFlash('Message successfully sent.');
$this->redirect(array('action' => 'outbox'));
}
}
}
}
显然,你需要充实这个例子出来,并改变任何可能并不适用于您的应用程序。如果你想要的话,你还需要添加检查用户是否与他们试图传达信息的人的朋友。
我正在考虑把所有的功能放到我的用户控制器,并有用户控制器只是使用消息传递表。哪种方法更有效? – user1436497
通常情况下,每个型号都有一个控制器是最佳实践。当你在与一个'messages'数据库表进行交互时,因此需要一个'Message'模型,你通常会创建一个相应的'MessagesController'类,它包含创建,读取,更新和删除(CRUD)消息的方法。然后可以使用CakePHP中的路由组件在需要时更改路由。 –
为什么每个人都低调这个..它不像我要求的代码,我只是想指出正确的方向.. – user1436497