Merci pour toutes ces précisions, j'y vois plus clair.

malheureusement avec la dernière beta 1.2 revision 6311 j'obtiens
cette erreur :

Fatal error: Class 'Setting' not found in D:\wampserver\www_tests\app
\config\bootstrap.php on line 69

il m'a fallu changer loadModel('Setting') en
App::Import('Model','Setting'); auparavent.
mais là c'est "coincé".


On Jan 7, 11:52 am, evos <[EMAIL PROTECTED]> wrote:
> Bonjour,
>
> Modifier les routes au niveau d'un Controller ne peut absolument pas
> influer sur le Dispatcher, qui s'occupe de charger le Controller
> spécifique en fonction de l'URL. L'instanciation et l'execution de
> Dispatcher se fait avant même la création du Controller.
>
> CakePHP utilise l'ordre suivant lors de son initialisation (en bref):
> Création de Object Configure : lecture de config.php, bootstrap.php.
> Création de Object Dispatcher : lecture de routes.php.
> Chargement de l'App avec création de l'instance du plugin/controller
> suivant les données de Dispatcher.
> Création des instances des modèles indiqués par Controller::uses.
> Execution de Controller::action().
>
> De manière générale, on peut voir que l'accès aux modèles donc aux
> tables se fait bien plus loin après la lecture des différentes
> configurations.
> Pour ce que j'ai compris, tu désires créer des routes dynamiques en
> fonction d'une configuration basée sur SQL comme WordPress.
>
> Bien que absolument pas "natif" il est possible cependant de charger
> un modèle dans la partie bootstrap et routes via certaines fonctions
> disponibles dans core.basics.
> En effet la création de datasource (dbosource), donc par extension la
> connexion SQL, se fait dès le début. Ainsi prenons exemple d'un modèle
> de configuration :
> <?php
> // app/models/setting.php
> class Setting extends AppModel {
>         var $name = 'Setting';}
>
> ?>
>
> On peut charger le modèle directement en tête du fichier bootstrap.php
> par exemple via loadModel('Setting'); puis en créant l'instance via
> $Setting=& new Setting();
> Il est possible et recommandé d'enregistrer l'instance dans
> ClassRegistry afin d'éviter de réinstancier le modèle lors d'une
> utilisation ultérieure, par exemple sur le fichier routes.php.
> <?php ClassRegistry::addObject('Setting', $Setting); // Ajout de
> l'instance de Config dans le registre ?>
>
> Et la magie se fait, toujours a la suite de bootstrap.php si on
> execute $Setting->read(); la méthode retournera tous les résultats de
> la table settings.
> Enfin si on veut réutiliser le modèle par exemple dans routes.php il
> suffit de faire $Setting = ClassRegistry::getObject('Setting'); pour
> récupérer l'instance du modèle.
>
> J'espère que ces informations seront utiles ...
> On 6 jan, 14:15, foxmask <[EMAIL PROTECTED]> wrote:

--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier  : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à