2015-11-26 16 views
7

ケーキバージョン3.1.2Cake 3.x SessionsControllerという名前のコントローラでデータベースセッションを使用するには?

私がやったこと:

  1. は、MySQLデータベースで次のクエリを実行します。

    CREATE TABLE `sessions` (
        `id` varchar(255) NOT NULL DEFAULT '', 
        `data` BLOB, -- or BYTEA for PostgreSQL 
        `expires` int(11) DEFAULT NULL, 
        PRIMARY KEY (`id`) 
    ); 
    
  2. 変更app.php

    'Session' => [ 
        'defaults' => 'database', 
    ], 
    

私が望んでいた:

ので、私は持つことができますSessionsController.php

を持っている:ログインページやアクションなど

  • /sessions/addを(GETとPOSTを許可する)
  • /sessions/deleteログアウトなどページとアクション(GETとDELETEを許可)
  • /admin/sessions/delete管理者のバックエンドが一定の方法でログアウトする方法ユーザーがページ分割の方法ですべてのセッションを取得する方法として
  • /admin/sessions/index(DELETEが可能)(GETを許可する)私の心の中で

質問:

  1. 私は実際にセッションエンティティとテーブルを焼くください?
  2. 私は実際にセッションコントローラを焼きますか?
  3. がセッションを処理するのにデータベースを使用していない場合でも、SessionsControllerを使用することは可能ですか?どのようにデフォルトのエンティティまたはテーブルを持たないコントローラをベイク処理するのですか?

答えて

2

ご質問の多くはCakePHP Bookです。あなたの質問に対する答えは、

  1. 実際にセッションエンティティとテーブルを焼くのですか?
  2. 私は実際にセッションコントローラを焼くのですか?

    A:いいえ、何も焼く必要はありません。すべてのコードを手書きで書くことができます。しかし、私はクラスのスケルトンを設定するためにベーキングをお勧めします。

  3. Sessionを処理するためにデータベースを使用しない場合でもSessionsControllerを使用することは可能ですか?

    A:はい、naming conventionsに従う限り、コントローラに任意の名前を付けることができます。

  4. デフォルトのエンティティまたはテーブルを持たないコントローラをベイク処理するにはどうすればよいですか?

    A:焼くだけです。あなたのコントローラでは、デフォルトまたはそれ以外のモデルを使用する必要はありません。

関連する問題