コード例 #1
0
ファイル: WFEDb.php プロジェクト: Hannes1/WorstFrameworkEver
 public static function connect()
 {
     WFELoader::load("core/libs/redbean/rb.php");
     WFELoader::load("core/libs/QueryBuilder/QueryBuilder.php");
     $host = WFEConfig::get('db::host');
     $name = WFEConfig::get('db::name');
     $user = WFEConfig::get('db::user');
     $password = WFEConfig::get('db::password');
     $dbEnabled = WFEConfig::get('db::enabled');
     if ($dbEnabled == true) {
         R::setup('mysql:host=' . $host . '; dbname=' . $name, $user, $password);
     }
 }
コード例 #2
0
 /**
  * Initialiaze Templating
  */
 public static function init()
 {
     if (!self::$init) {
         self::$init = true;
         self::$smarty = new Smarty();
         if (WFEConfig::get("env") == "prod") {
             self::$smarty->debugging = false;
         } else {
             self::$smarty->debugging = true;
         }
         self::$smarty->setTemplateDir(array('templates' => ROOT . self::TPL_PATH));
         self::$smarty->setCompileDir(ROOT . '/app/cache/smarty/template_c/');
         self::registerPluginsSmarty();
     }
 }
コード例 #3
0
 /**
  * Routes a WFERequest
  * @param \core\WFERequest $request
  * @return \core\WFEResponse
  * @throws WFEDefinitionException If a controller or an action is not defined
  */
 public static function run(WFERequest $request)
 {
     $route = $request->getRoute();
     if ($route == null) {
         $route = WFERoute::get('WFE404');
         $request = new WFERequest('GET', 'WFE404');
     } else {
         if (self::isInitialRequest() && !$request->isAjax() && $route->getController() != WFEConfig::get('publicController')) {
             self::$initial = false;
             $oldRequest = $request;
             $content = WFERouter::run($oldRequest)->getContent();
             self::$initial = true;
             $request = new WFERequest('GET', 'WFEMain', array(array('content' => $content, 'WFERoutes' => WFERoute::getInstances(), 'appRoute' => APP_PATH)));
         }
     }
     $route = $request->getRoute();
     self::$currentRequest = $request;
     self::$controllers[] = $route->getController();
     self::$actions[] = $route->getAction();
     if (!self::controllerExists(self::getCurrentController())) {
         throw new WFEDefinitionException('The controller : ' . self::getCurrentController() . ' does not exist');
     }
     $mycontroller = self::getControllerClass(self::getCurrentController());
     $controller = new $mycontroller();
     if (get_class($controller) != 'core\\WFEController' && !is_subclass_of($controller, 'core\\WFEController')) {
         throw new WFEDefinitionException('Controller : ' . $mycontroller . ' must extends core\\WFEController');
     }
     $myaction = self::getCurrentAction();
     if (!self::actionExists($controller, $myaction)) {
         throw new WFEDefinitionException('The action : ' . $myaction . ' does not exist');
     }
     $response = \call_user_func_array(array($controller, $myaction), $request->getArguments());
     if (get_class($response) != 'core\\WFEResponse' && !is_subclass_of($response, 'core\\WFEResponse')) {
         throw new WFEDefinitionException('Action : ' . $myaction . ' in controller : ' . $mycontroller . ' must return a core\\WFEResponse object');
     }
     if (sizeof(self::$controllers) == 1 && self::$initial) {
         $response->send();
     } else {
         array_pop(self::$controllers);
         array_pop(self::$actions);
         return $response;
     }
 }
コード例 #4
0
ファイル: config.php プロジェクト: Hannes1/WorstFrameworkEver
<?php

use core\WFEConfig;
use core\router\WFERoute;
WFEConfig::add(array('routes' => array(new WFERoute('WFE404', null, 'WFE/WFEError', 'WFE404'), new WFERoute('WFE500', null, 'WFE/WFEError', 'WFEErrorServer'), new WFERoute('WFEMain', null, 'WFE/WFE', 'main'), new WFERoute('WFEPublicCss', '/public/css/{css:path}', 'WFE/WFEPublic', 'css'), new WFERoute('WFEPublicJs', '/public/js/{js:path}', 'WFE/WFEPublic', 'js'), new WFERoute('WFEPublicImg', '/public/img/{img:path}', 'WFE/WFEPublic', 'img'), new WFERoute('home', '/', 'Main', 'home'), new WFERoute('home_2', '/{id}/home/{id2}', 'Main', 'home'), new WFERoute('user_get', '/user/{id}', 'User', 'get'), new WFERoute('do', '/something/{parameter}', 'Main', 'doSomething')), 'db' => array('host' => "localhost", 'name' => "wfe", 'user' => "root", 'password' => "", 'enabled' => true), 'env' => 'dev', 'publicController' => 'WFE/WFEPublic', 'errorController' => 'WFE/WFEError'));
コード例 #5
0
ファイル: index.php プロジェクト: Hannes1/WorstFrameworkEver
// set exception handler
set_exception_handler(function (Exception $e) {
    if (WFEConfig::get('env') == 'dev') {
        exit($e->getMessage());
    } elseif (WFEConfig::get('env') == 'prod') {
        $response = WFERouter::run(new WFERequest('GET', 'WFE500'));
        $response->send();
    }
});
// Register autoload
WFEAutoload::register(__NAMESPACE__);
// Load main config
WFELoader::load('app/config/config.php');
// Load Database
\core\ORM\WFEDb::connect();
// Load smarty
WFELoader::load('core/libs/smarty/Smarty.class.php');
// set environment spec
if (WFEConfig::get('env') == 'dev') {
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_ALL);
} elseif (WFEConfig::get('env') == 'prod') {
    error_reporting(0);
} else {
    throw new WFEDefinitionException('Config settings env is not set properly (must be dev or prod)');
}
// init session
WFEsession::init();
// init request data
$request = new WFERequest();
// Routes request and get response
WFERouter::run($request);