1: <?php
2: 3: 4: 5: 6: 7:
8: require __DIR__.'/autoload.php';
9: use Core\System\System;
10: use Core\Route\Route;
11: use Core\BaseClasses\BaseController;
12: class Bridge extends Route
13: {
14: public function __construct()
15: {
16: require (__DIR__ . "/Classes/Helpers.php");
17: require (__DIR__ . "/../App/Routes.php");
18: header('Access-Control-Allow-Origin: '.$_ENV['cors']);
19: }
20: public static function Pass($requestUri, $requestMethod, $requestData, $rawData)
21: {
22: if(!array_key_exists($requestMethod,Route::$URLS))
23: {
24: System::GiveError(405,"Method not allowed");
25: }
26: if(!array_key_exists($requestUri,Route::$URLS[$requestMethod]))
27: {
28: System::GiveError(404,'Requested path not found');
29: }
30: $opCode=Route::$URLS[$requestMethod][$requestUri];
31: if(gettype($opCode) == "object")
32: {
33: $opCode();
34: exit(0);
35: }
36: $opCode=explode('@', $opCode);
37: if(class_exists("Controllers\\".$opCode[0]))
38: {
39: $clsName='Controllers\\'.$opCode[0];
40: $cObject=new $clsName([$requestUri, $requestMethod, $requestData, $rawData]);
41: unset($clsName);
42: if(method_exists($cObject, $opCode[1]))
43: {
44: $method=$opCode[1];
45: return $cObject->$method();
46: }
47: else
48: {
49: System::GiveError(500,'Method '.$opCode[1].' does not exist');
50: }
51: }
52: else
53: {
54: System::GiveError(500,'Class '.$opCode[0].' not found');
55: }
56: }
57: }