示例#1
0
文件: Plugger.php 项目: sincco/sfphp
 public static function dispatchAction($event, $function)
 {
     $objClass = ClassLoader::load('\\Observers\\Actions', 'ActionsObserver');
     if (is_callable(array($objClass, $function . '_' . $event))) {
         call_user_func(array($objClass, $function . '_' . $event));
     }
 }
示例#2
0
文件: Launcher.php 项目: sincco/sfphp
 public function __construct()
 {
     $_config = Reader::get('app');
     if (isset($_config['timezone'])) {
         date_default_timezone_set($_config['timezone']);
     }
     Debug::path(PATH_LOGS);
     Debug::reporting(DEV_SHOWERRORS);
     Plugger::dispatchGlobal('pre', 'ResolveUrl');
     $path = "";
     $segments = Request::get('segments');
     if (trim($segments['controller']) == "") {
         $segments['controller'] = "Index";
     }
     if (trim($segments['action']) == "") {
         $segments['action'] = "index";
     }
     if (trim($segments['module']) != "") {
         $path .= "\\{$segments['module']}";
     }
     $path .= "\\Controllers\\{$segments['controller']}";
     if (trim($segments['module']) != '') {
         $observer = $segments['module'] . '_' . $segments['controller'] . '_' . $segments['action'];
     } else {
         $observer = $segments['controller'] . '_' . $segments['action'];
     }
     $objClass = ClassLoader::load($path, $segments['controller'] . "Controller");
     if (is_callable(array($objClass, $segments['action']))) {
         Plugger::dispatchAction('pre', $observer);
         call_user_func(array($objClass, $segments['action']));
         Plugger::dispatchAction('post', $observer);
     } else {
         if (DEV_SHOWERRORS) {
             Debug::dump("ERROR :: No es posible lanzar " . implode("->", $segments));
         } else {
             new Response('htmlstatuscode', '404 Not Found');
         }
     }
 }