Base code
Namespaces must be created by following the principle used in JAVA to manage packages. The “src” folder is the root class folder.
So, in the “src” folder, any subfolder will be included in the namespace.
– The “MyApp” class which is in the “myapp” folder will have the “myapp” namespace. The full name of the class will be “\myapp\MyApp“.
– The “AppSetup” class which is located in the “myapp/setup” folder will have the “myapp\setup” namespace. The full name of the class will be “\myapp\setup\AppSetup“.
1. Main class of the 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. The registerMainDAOSources method
Used to record the available data access sources.
b. The createSubProject method
Allows you to create the instance of the subapplication.
c. the createAppSetup method
Allows you to create the application configuration.
2. The setup class
[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. The class of the sub-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”/]