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.

Base code

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

Myapp.php
<?php
namespace myapp;

use muuska\project\AbstractApplication;
use muuska\util\App;
use muuska\project\constants\SubAppName;

class MyApp extends AbstractApplication
{
    protected function registerMainDAOSources(){
        parent::registerMainDAOSources();
        $this->registerDaoSource(App::daos()->createPDOSourceFromConfiguration());
    }
    
    protected function createSubProject($subAppName){
        if($subAppName === SubAppName::FRONT_OFFICE){
            return new FrontSubApplication($subAppName, $this);
        }
    }
    
    protected function createAppSetup()
    {
        return new \myapp\setup\AppSetup($this);
    }
}

 

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

AppSetup.php
<?php
namespace myapp\setup;

use muuska\project\setup\AbstractProjectSetup;

class AppSetup extends AbstractProjectSetup
{
    public function __construct(\muuska\project\Application $application){
        $this->project = $application;
    }
}

 

3. La classe de la sous application

 

FrontSubApplication.php
<?php
namespace myapp;

use muuska\project\AbstractSubApplication;

class FrontSubApplication extends AbstractSubApplication
{
    
}