forked from soberwp/controller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontroller.php
39 lines (35 loc) · 1.11 KB
/
controller.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
<?php
namespace Sober\Controller;
/**
* Functions
*/
function loader()
{
$loader = new Loader();
foreach ($loader->getData() as $template => $class) {
// Pass data filter
add_filter('sage/template/' . $template . '-data/data', function ($data) use ($loader, $class) {
$controller = new $class();
$controller->__setup();
return array_merge($loader->getAppData(), $loader->getPostData(), $controller->__setTreeData($data), $controller->__getData());
});
// Class alais
class_alias($class, (new \ReflectionClass($class))->getShortName());
}
}
function debugger()
{
if (function_exists('\\App\\sage')) {
\App\sage('blade')->compiler()->directive('debug', function ($type) {
$debugger = ($type === '' ? '"controller"' : $type);
return '<?php (new \Sober\Controller\Module\Debugger(get_defined_vars(), ' . $debugger . ')); ?>';
});
}
}
/**
* Hooks
*/
if (function_exists('add_action')) {
add_action('init', __NAMESPACE__ . '\loader');
add_action('init', __NAMESPACE__ . '\debugger');
}