diff options
Diffstat (limited to 'public/app/config')
| -rw-r--r-- | public/app/config/bootstrap.php | 62 | ||||
| -rw-r--r-- | public/app/config/setup_application.php (renamed from public/app/config/setup-application.php) | 0 | ||||
| -rw-r--r-- | public/app/config/setup_framework.php (renamed from public/app/config/setup-framework.php) | 9 |
3 files changed, 68 insertions, 3 deletions
diff --git a/public/app/config/bootstrap.php b/public/app/config/bootstrap.php new file mode 100644 index 0000000..a51272e --- /dev/null +++ b/public/app/config/bootstrap.php @@ -0,0 +1,62 @@ +<?php + +/** initialize System + * ----------------------------------------------------------------------------- + * + * Finalalize the MVC framework and construct the central objects + * (Registry and Request) + * + * Include _anything_ that is common practice on the request life-cycle + * of your project and does not need to be shown in the /public/index.php + * Usualy here you shall initialize supplamentary services like Sessions + * / Database / Caching etc. + * + * NOTE: + * Always try to keep the app as light as possible, so load only what is + * critical for the MVC to operate; + * anything else can be injected on-demand + * + * ----------------------------------------------------------------------------- + */ + +// setup error-handliing +// ----------------------------------------------------------------------------- +require_once APP_ROOT.'/core/helpers/error_handling.php'; + + + +// Setup Application Engiine +// ----------------------------------------------------------------------------- +// Setup supplementary services (derectry or as promises/vows) +// Session, Database, Caching + + +// Attache database to the Regostry a vow +Registry::vow('database', function() { return new Database(); }); + + +// Attach Cache to the Resitry as a vow +// (CACHE_DRIVER) acts as driver-wrapper +// --- -- -- - - - +Registry::vow('cache', function() { return new (CACHE_DRIVER)(); }); +// CHECK: if strict mode has any benefits: +// Registry::vow('cache', function():Cache_interface { return new (CACHE_DRIVER)(); }); + + +// Initialize THE REQUEST +// ----------------------------------------------------------------------------- +Registry::set('REQUEST', new Request()); + + + +// load design-patterns +// (these patterns use some of the project's central objects (Registry, +// Cache, Database), so laod them after. +// ----------------------------------------------------------------------------- +require_once APP_ROOT.'/core/helpers/design_patterns.php'; + + +// Add Routes +// ----------------------------------------------------------------------------- + +require_once WEB_ROOT.'/app/config/init_routes.php'; // initialize routes diff --git a/public/app/config/setup-application.php b/public/app/config/setup_application.php index ec9a7bb..ec9a7bb 100644 --- a/public/app/config/setup-application.php +++ b/public/app/config/setup_application.php diff --git a/public/app/config/setup-framework.php b/public/app/config/setup_framework.php index 63eb486..69c3402 100644 --- a/public/app/config/setup-framework.php +++ b/public/app/config/setup_framework.php @@ -16,6 +16,8 @@ * You may rewrite the defines setting any values manualy; * SETTING anom CONSTANTS VIA an `.env` FILE IS HIGHLY RECOMMENDED; * The default `.env` file is saved into project's root + * + * Blueprint: * * ----------------------------------------------------------------------------- */ @@ -101,8 +103,9 @@ define('SITE_URL', $env['ANOM_HOSTNAME']); define('URL_ROOT', '/'); -define('INIT_APPLICATION', APP_ROOT.'/core/config/init.php'); - +// main initialization script +define('APPLICATION_BOOTSTRAP', WEB_ROOT.'/app/config/bootstrap.php'); + define('VIEWS_DIRECTORY', $env['VIEWS_DIRECTORY'] ?? (WEB_ROOT.'/app/views/')); define('TESTS_DIRECTORY', $env['TESTS_DIRECTORY'] ?? (APP_ROOT."/tests/")); @@ -466,4 +469,4 @@ define('PROXY_DO_NOT_CACHE', 4); // do not cache result * * ----------------------------------------------------------------------------- */ -require_once WEB_ROOT.'/app/config/setup-application.php';
\ No newline at end of file +require_once WEB_ROOT.'/app/config/setup_application.php'; |
