2015-11-26 27 views
7

torta Versione 3.1.2Cake 3.x Come utilizzare le sessioni del database con un controller denominato SessionsController?

Quello che ho fatto:

  1. eseguire la seguente query nel database 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. Change app.php

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

quello che volevo:

Per avere un SessionsController.php

così posso avere:

  • /sessions/add come pagina di login e l'azione (che consente GET e POST)
  • /sessions/delete come la disconnessione pagina e azione (consentendo GET e DELETE)
  • /admin/sessions/delete come metodo per il backend amministratore per il logout di determinati utenti (consentendo DELETE)
  • /admin/sessions/index come un modo per andare a prendere tutte le sessioni in modo impaginato (permettendo GET)

domande nella mia mente:

  1. posso effettivamente cuocere Sessione entità e la Tabella ?
  2. Realizzo effettivamente il controller di sessione?
  3. E 'possibile anche per me avere SessionController anche quando I non utilizzare il database per gestire la sessione? Come faccio a cuocere un controller di questo tipo che non ha un'entità o una tabella di default?

risposta

2

La maggior parte delle domande a cui si ha risposta è nello CakePHP Book. Le risposte alle tue domande sono:

  1. Realizzo effettivamente entità sessione e tabella?
  2. Realizzo effettivamente il controller di sessione?

    A: No, NON DEVI cuocere nulla. Puoi scrivere tutto il codice a mano. Anche se, consiglio la cottura per impostare lo scheletro delle classi.

  3. È possibile anche per me avere SessionController anche quando non utilizzo il database per gestire la sessione?

    A: Sì, è possibile assegnare un nome ai controller tutto ciò che si desidera purché si segua lo naming conventions.

  4. Come faccio a cuocere un controller di questo tipo che non ha un'entità o tabella di default?

    A: Basta cuocerlo.Non è necessario utilizzare modelli, predefiniti o meno, nei controller.