Autoloading
There is a very basic autoloading applied, that changes with the front-controller that is being used.
It is useful, to work towards a PSR-4 autoloading. That is already used for tests.
Page-based autoloading
Index front controller
The index
front-controller loads the module that is given in the page
URI parameter:
lang/DE/page.lang.php
model/page.model.php (also reinitializes
$db
global with new PageModel if model file exists
)control/page.php
XHR front controller
The XHR front-controller does no autoloading. All methods are directly called ( xhr_func
), they are defined in xhr.inc.php
API front controller
See App-based autoloading below.
App-based autoloading
After some time, a new module structure called "app" was invented. To use that, the auto-loaded controller has to explicitly call it (e.g. loadApp('basket')
).
That will trigger the loading of some more files:
require_once ROOT_DIR.'app/core/core.control.php'; require_once ROOT_DIR.'app/core/core.model.php'; require_once ROOT_DIR.'app/core/core.view.php'; require_once ROOT_DIR.'app/'.$app.'/'.$app.'.control.php'; require_once ROOT_DIR.'app/'.$app.'/'.$app.'.model.php'; require_once ROOT_DIR.'app/'.$app.'/'.$app.'.view.php'; require_once ROOT_DIR.'lang/DE/'.$app.'.lang.php'; if(isset($_GET['lang']) && $_GET['lang'] == 'en') { $fn = ROOT_DIR.'lang/EN/'.$app.'.lang.php'; if(file_exists($fn)) { require_once $fn; } } addJsFunc(file_get_contents(ROOT_DIR.'app/'.$app.'/'.$app.'.script.js')); addStyle(file_get_contents(ROOT_DIR.'app/'.$app.'/'.$app.'.style.css'));
Also, JavaScript and CSS are added into the header part of the generated page.
To the extent possible under law, the yunity wiki contributors have waived all copyright and related or neighboring rights to the content of the yunity wiki. More information...
You have an account but can't edit or create pages? Write us in the open chatroom or in our yunity Slack!