8722 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,
Pour ceux qui connaissent le Framework CakePHP dans sa version 2.0 et plus, j'ai une question :
Je dois redéfinir une variable de configuration (globale) instanciée par le Framework lui même lors du chargement de bootstrap.php .

C'est très simple : Mon fichier bootstrap charge un fichier config.php
Configure::load('config');


Ce fichier config.php contient des variables (c'est une sorte de fichier INI à la sauce Cake)
// Create the config array
$config = array();

// Define config variable
$config['GoogleClientID'] = 'ma_variable';
$config['GoogleAccountName'] = 'mon_autre_variable';


Dans tout mon programme, je peux lire ces variables avec :
Configure::read('GoogleClientID'); //Par exemple


Mais, comment puis-je leurs ré-assigner une valeur au travers, par exemple, d'un formulaire ?

Merci d'avance pour votre aide.
Cordialement, Kévin.

NB : ce sont des variables crées par mes soins. Elles ne font pas parties du système de base.

J'ai bien la classe sous les yeux, et je crois, qu'il n'y a rien, mais je n'en suis pas sûr : http://api.cakephp.org/2.3/class-Configure.html
Modifié par Kikimagik (28 Nov 2013 - 17:37)
Modérateur
Salut,

Logiquement, ce serait un truc comme (doc de la config) :

<?php
    class FriandisesController extends AppController {
        //etc.
        public function uneAction(){
            if($this->request->is('put') || $this->request->is('post')){
                //etc.
                //redéfinit la config de gateau
                Configure::write('gateau', array('type' => 'éclair au chocolat'));
                //etc.
            }
        }
        //etc.
    
    }

?>


A vue de nez, c'est de la config user. Donc oublie la class Configure. Cette classe ne concerne que la configuration de ton application (Le moteur de ton application). Tu confonds deux objets. La configuration du user et la configuration de ton application. Ce qui va impliquer une table supplémentaire en base et relié à la table users ($hasMany, $belongsTo) pour les models. Créer le controller adéquate et les vues nécessaires.
Modifié par niuxe (28 Nov 2013 - 21:21)