3

CakePHP フレームワークでプライベート メッセージング システムの作成を開始できる人がいるかどうか疑問に思っています。私は Facebook の受信トレイ システムに似たものを目指しています。もちろん、それほど複雑である必要はありません。

現在、ログオンおよびログオフできるユーザーがいる AUTH システムを使用しています。

4

1 に答える 1

4

最も簡単な方法はmessages、少なくとも 5 つの列 ( idsender_idrecipient_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'));
            }
        }
    }
}

明らかに、この例を具体化し、アプリケーションに当てはまらない可能性があるものはすべて変更する必要があります。また、必要に応じて、ユーザーがメッセージを送信しようとしている相手と友達であるかどうかのチェックも追加する必要があります。

于 2012-09-17T13:25:23.437 に答える