database.php est vérifié dans la fonction index() :
if($connected->isConnected()) {
//la base de données est correctement connectée
} else{
//l'appli n'est pas correctement installé
}
Je considère que l'appli est fonctionnelle, ainsi que l'accès au
tables à partir du moment où database.php est correctement configuré.
C'est une méthode parmis d'autres pour faire un installeur.
Dans le bakery il y a une méthode de ce genre avec le test de la
présence d'un fichier texte.
Pour tester les tables une par une tu peux voir du coté de l'ancien
loadModel() c'est à dire App::import('Model', 'TonModel') dans le
controller de ton choix.
On 20 jan, 14:48, foxmask <[EMAIL PROTECTED]> wrote:
> Je vais la refaire ;)
>
> Je voudrai vérifier que ma table setting n'existe pas déjà qd on
> faithttp://localhost/install
> Donc si setting est trouvée je renverrai vershttp://localhost/
>
> Evidement pour tester l'existence on est bien obligé d'utiliser le
> contenu de database.php pour se connecter à la base
> là encore je teste (déjà) que le contenu est viable.
> Par contre de mon coté j'ai qd meme fait un model.
>
> Dans ton cas, si database.php est présent mais que son contenu n'est
> pas bon que ce passe-t-il ?
>
> Cordialement.
>
> On 19 jan, 14:07, esion <[EMAIL PROTECTED]> wrote:
>
> > Hello,
>
> > J'essaie de comprendre,
> > Tu veux tester l'ensemble de ton installation? c'est à dire si ta base
> > de données est pleinement fonctionnelle? ou alors est-ce par rapport à
> > une table en particulier pour un composant (ou plugin) de ton
> > application?
>
> > Pour ma part j'ai réalisé un installer, la première chose est de
> > vérifier si le fichier database.php est présent et opérationnel :
> > dans config/routes.php :
> > <?php
> > ...
> > //connect home or install if database.php not present
> > if(file_exists(CONFIGS.'database.php')){
> > Router::connect('/', array('controller' => 'pages', 'action' =>
> > 'index'));}else{
>
> > //app is not installed
> > Router::connect('/', array('controller' => 'install', 'action' =>
> > 'index'));}
>
> > ...
> > ?>
>
> > Le controller qui permet l'install n'utilise aucun model pour
> > fonctionner :
>
> > <?php
> > //file : controllers/install_controller.php
>
> > class InstallController extends AppController {
>
> > //in order to use installer based on database.php : no Acl component
> > and no models in app_controller.php
> > var $uses = array();
>
> > function index(){
> > //ecrire le fichier de connexion : database.php
> > //puis tester la connexion
> > uses('model' . DS . 'connection_manager');
> > $db = ConnectionManager::getInstance();
> > $connected = $db->getDataSource('default');
> > if($connected->isConnected()) {
> > //la base de données est correctement connectée
> > }
> > }}
>
> > ?>
>
> > On 18 jan, 20:40, foxmask <[EMAIL PROTECTED]> wrote:
>
> > > Bonsoir,
> > > Afin de tester si mon soft est installé, je voudrai tester que ma
> > > table de configuration existe.
> > > Si oui je la lis
> > > Si non j'affiche un message qui suggere à l'utilisateur d'installer
> > > ledit soft.
>
> > > Comment faire sans passer par une requête spécifique à tel ou tel
> > > SGBDR ?
>
> > > J'ai farfouillé coté méthod schema (qui appelle describe) mais c'est
> > > un peu flou pour moi.
>
> > > Merci de votre aide.
> > > Cordialement
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---