Code de base
Les namespaces doivent être crée en suivant le principe utilisé en JAVA pour la gestion des packages. Le dossier « src » est le dossier racine des classes.
Donc à l’intérieur du dossier « src » tout sous-dossier sera inclut dans le namespace.
- La classe "MyApp" qui se trouve dans le dossier "myapp" aura pour namespace "myapp". Le nom complet de la classe sera "\myapp\MyApp“.
- La classe "AppSetup" qui se trouve dans le dossier "myapp/setup" aura pour namespace "myapp\setup". Le nom complet de la classe sera "\myapp\setup\AppSetup“.
1. Classe principale de l’application
[pastacode lang=”php” manual=”%3C%3Fphp%0Anamespace%20myapp%3B%0A%0Ause%20muuska%5Cproject%5CAbstractApplication%3B%0Ause%20muuska%5Cutil%5CApp%3B%0Ause%20muuska%5Cproject%5Cconstants%5CSubAppName%3B%0A%0Aclass%20MyApp%20extends%20AbstractApplication%0A%7B%0A%20%20%20%20protected%20function%20registerMainDAOSources()%7B%0A%20%20%20%20%20%20%20%20parent%3A%3AregisterMainDAOSources()%3B%0A%20%20%20%20%20%20%20%20%24this-%3EregisterDaoSource(App%3A%3Adaos()-%3EcreatePDOSourceFromConfiguration())%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20protected%20function%20createSubProject(%24subAppName)%7B%0A%20%20%20%20%20%20%20%20if(%24subAppName%20%3D%3D%3D%20SubAppName%3A%3AFRONT_OFFICE)%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20new%20FrontSubApplication(%24subAppName%2C%20%24this)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20protected%20function%20createAppSetup()%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20return%20new%20%5Cmyapp%5Csetup%5CAppSetup(%24this)%3B%0A%20%20%20%20%7D%0A%7D%0A” message=”Myapp.php” highlight=”” provider=”manual”/]
a. La methode registerMainDAOSources
Permet d’enregistrer les sources d’accès aux données disponibles.
b. La méthode createSubProject
Permet de créer l’instance de la sous application.
c. La méthode createAppSetup
Permet de créer le setup de l’application.
2. La classe du setup
[pastacode lang=”php” manual=”%3C%3Fphp%0Anamespace%20myapp%5Csetup%3B%0A%0Ause%20muuska%5Cproject%5Csetup%5CAbstractProjectSetup%3B%0A%0Aclass%20AppSetup%20extends%20AbstractProjectSetup%0A%7B%0A%20%20%20%20public%20function%20__construct(%5Cmuuska%5Cproject%5CApplication%20%24application)%7B%0A%20%20%20%20%20%20%20%20%24this-%3Eproject%20%3D%20%24application%3B%0A%20%20%20%20%7D%0A%7D%0A” message=”AppSetup.php” highlight=”” provider=”manual”/]
3. La classe de la sous application
[pastacode lang=”php” manual=”%3C%3Fphp%0Anamespace%20myapp%3B%0A%0Ause%20muuska%5Cproject%5CAbstractSubApplication%3B%0A%0Aclass%20FrontSubApplication%20extends%20AbstractSubApplication%0A%7B%0A%20%20%20%20%0A%7D” message=”FrontSubApplication.php” highlight=”” provider=”manual”/]