-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathboot.php
140 lines (119 loc) · 4.21 KB
/
boot.php
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php
defined('DS') or exit('No direct access.');
/*
|--------------------------------------------------------------------------
| Config Loader
|--------------------------------------------------------------------------
|
| Config loader bertanggung jawab untuk mereturn array konfigurasi untuk
| paket dan file tertentu. Secara default, kami menggunakan file yang
| telah disediakan rakit; namun, anda bebas untuk menggunakan mekanisme
| penyimpanan anda sendiri untuk menangani array konfigurasi.
|
*/
System\Event::listen(System\Config::LOADER, function ($package, $file) {
return System\Config::file($package, $file);
});
/*
|--------------------------------------------------------------------------
| Class Alias
|--------------------------------------------------------------------------
|
| Class alias memungkinkan anda menggunakan kelas tanpa perlu mengimpornya.
| Di sini kami hanya mendaftarkan alias untuk kelas bawaan rakit saja,
| dan tentunya anda juga dapat menambahkan alias lain sesuai kebutuhan.
|
*/
System\Autoloader::$aliases = System\Config::get('aliases');
/*
|--------------------------------------------------------------------------
| Autoload Direktori
|--------------------------------------------------------------------------
|
| Autoloader rakit juga dapat meng-autoload direktori via konvensi psr.
| Konvensi ini pada dasarnya mengelola kelas dengan menggunakan namespace
| sebagai penunjuk struktur direktori dan lokasi kelas.
|
*/
System\Autoloader::directories([
path('app') . 'models',
path('app') . 'libraries',
// Tambahkan direktori lain disini..
]);
/*
|--------------------------------------------------------------------------
| View Loader
|--------------------------------------------------------------------------
|
| View loader bertanggung jawab mereturn path file paket dan view.
| Tentu saja, implementasi default telah disediakan sesuai konvensi rakit.
|
*/
System\Event::listen(System\View::LOADER, function ($package, $view) {
return System\View::file($package, $view, System\Package::path($package) . 'views');
});
/*
|--------------------------------------------------------------------------
| Language Loader
|--------------------------------------------------------------------------
|
| Language loader bertanggung jawab mereturn array baris bahasa.
|Tentu saja, implementasi default telah disediakan sesuai konvensi rakit.
|
*/
System\Event::listen(System\Lang::LOADER, function ($package, $language, $file) {
return System\Lang::file($package, $language, $file);
});
/*
|--------------------------------------------------------------------------
| Aktifkan Blade Engine
|--------------------------------------------------------------------------
|
| Kami perlu mengktifkn blade engine disini agar langsung bisa digunakan
| dari dalam kontroler anda.
|
*/
System\Blade::sharpen();
/*
|--------------------------------------------------------------------------
| Set Default Timezone
|--------------------------------------------------------------------------
|
| Lalu setel default timezone sesuai konfigurasi yang anda berikan.
|
*/
date_default_timezone_set(System\Config::get('application.timezone', 'UTC'));
/*
|--------------------------------------------------------------------------
| Load Session
|--------------------------------------------------------------------------
|
| Kami juga perlu memuat session jika anda telah menyetel driver session.
|
*/
if (!System\Request::cli() && '' !== System\Config::get('session.driver')) {
System\Session::load();
}
/*
|--------------------------------------------------------------------------
| Autoload Composer
|--------------------------------------------------------------------------
|
| Dan terakhir, kita muat autoloader milik Composer agar seluruh kelas
| didalam folder vendornya dapat dikenali oleh rakit.
|
*/
if (is_file($path = System\Config::get('application.composer_autoload'))) {
require_once $path;
unset($path);
}
/*
|--------------------------------------------------------------------------
| Lain - Lain
|--------------------------------------------------------------------------
|
| Tambahkan logic lain yang harus segera berjalan setelah
| booting aplikasi selesai, seperti ekstensi untuk custom driver dll.
|
*/
// ..