Bonjour bonjour,

Alors voilà, je suis en train de faire une petite app et je compte bientôt la poussée sur mon serveur. Le truc, c'est que, dans ma manière de travailler, je n'utilise pas de FTP, je crée des repo Git sur mon serveur pour ensuite y pousser les dernières modifs.

Le problème, c'est la config Database.php. Parce que je n'ai pas la même configuration en local que sur mon serveur.

Je voulais donc savoir si je pouvais définir 2 variables de config dans database.php et lui dire d'utiliser une ou l'autre en fonction de l'URL par laquelle on y accède ?

Voilà. Un peu tordu, mais bon :)

2 réponses


Axiol
Auteur

Bon... Ok. En fait, en bricolant un peu, je pense avoir fait quelque chose qui ne fonctionne pas trop mal (et je rajoute la config du debug tant qu'on y est aussi) :

class DATABASE_CONFIG {
    public $local = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => '',
        'login' => '',
        'password' => '',
        'database' => '',
        'prefix' => '',
        'encoding' => '',
    );

    public $prod = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => '',
        'login' => '',
        'password' => '',
        'database' => '',
        'prefix' => '',
        'encoding' => '',
    );

    public function __construct() {
    if(isset($_SERVER'SERVER_NAME'])){
        switch($_SERVER'SERVER_NAME']){
        case 'localhost':
          $this->default = $this->local;
          Configure::write('debug', 2);
        break;
        case 'URLDeProd':
          $this->default = $this->prod;
          Configure::write('debug', 0);
        break;
        default:
          $this->default = $this->prod;
          Configure::write('debug', 0);
        break;
      }
    }
  }

}

Dites moi si ça ne fonctionne pas.

Pourquoi ne pas rajouter le fichier config dans ton .gitignore ?