blob: c64b35d68a9f974626a4ff977d3a40d23bd74469 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<?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 '../core/helpers/error_handling.php';
// depricated:
/// // Load rendering sub-system
/// // -----------------------------------------------------------------------------
/// require_once RENDERING_SYSTEM;
// 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 '../core/helpers/design_patterns.php';
// Add Routes
// -----------------------------------------------------------------------------
require_once 'app/routes/api.php'; // API: =/api/{table}/{id};/api/*
require_once 'app/routes/backend.php'; // Backend: =/admin/*
require_once 'app/routes/frontend.php'; // Frontend =/* (whatever)
|