Exemplo n.º 1
0
 public function execute()
 {
     $suffix = "Controller";
     Router::parseUri();
     try {
         $_cc = ucfirst(Router::getController()) . $suffix;
         Loader::autoload($_cc);
         if (!class_exists($_cc, false) && !interface_exists($_cc, false)) {
             throw new Exception('Class ' . $_cc . ' does not exist');
         }
         $class = new ReflectionClass($_cc);
         if ($class->isAbstract()) {
             throw new Exception('Cannot create instances of abstract ' . $_cc . '');
         }
         // Create a new instance of the controller
         $controller = $class->newInstance();
         // Execute the "before action" method
         //$class->getMethod('before')->invoke($controller);
         // Execute the main action with the parameters
         $class->getMethod(Router::getAction() . 'Action')->invokeArgs($controller, Router::getParams());
         // Execute the "after action" method
         //$class->getMethod('after')->invoke($controller);
     } catch (Exception $e) {
         throw $e;
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Cargador del paquete de libreria punkupattern
  *
  * @param String $class nombre de la clase a cargar
  * @return Boolean true si puedo cargar la clase. False de lo contrario.
  */
 public static function modelApplicationImport($class)
 {
     return Loader::autoload(PATH_MODEL_APPLICATION_IMPORT, $class);
 }
Exemplo n.º 3
0
setlocale(LC_ALL, 'en_US.utf8');
mb_internal_encoding("UTF-8");
chdir(ROOT_PATH);
ob_start();
/**
 * Дополнительные функции ядра
 */
require ROOT_PATH . "/knee/function.php";
/**
 * Подключение загрузчика скриптов
 */
require ROOT_PATH . "/knee/loader.php";
/**
 * Автоматическая загрузка системных классов
 */
Loader::autoload();
/**
 * Регистрация функции планового завершения работы сессии
 */
register_shutdown_function(function () {
    Session::end();
});
/**
 * Регистрация функций управления незапланированым завершением работы скрипта
 */
Debug::register();
/**
 * Подключение слушателей событий
 */
Loader::path(ROOT_PATH . "/app/events.php");
/**
Exemplo n.º 4
0
<?php

require 'Loader.php';
$loader = new Loader();
$loader->add(dirname(__FILE__));
$loader->autoload();
$loader = null;
Exemplo n.º 5
0
 /** Autload items **/
 public function autoload()
 {
     $ci = modules::$registry[$this->_class];
     /* process application autoload */
     if (!isset(self::$autoload) and self::$autoload = TRUE) {
         self::$loader->_ci_autoloader();
     }
     /* controller autoload array */
     $autoload = $ci->autoload() or $autoload = array();
     list($path, $file) = modules::find('autoload', $this->_module, 'config/');
     /* module autoload file */
     if ($path != FALSE) {
         $autoload = array_merge(modules::load_file($file, $path, 'autoload'), $autoload);
     }
     /* nothing to do? */
     if (count($autoload) == 0) {
         return;
     }
     /* autoload database & libraries */
     if (isset($autoload['libraries'])) {
         if (in_array('database', $autoload['libraries'])) {
             /* autoload database */
             if (!($db = $ci->config->item('database'))) {
                 $db['params'] = 'default';
                 $db['active_record'] = TRUE;
             }
             $ci->db = $this->database($db['params'], TRUE, $db['active_record']);
             $autoload['libraries'] = array_diff($autoload['libraries'], array('database'));
         }
         /* autoload libraries */
         foreach ($autoload['libraries'] as $library) {
             $this->library($library);
         }
     }
     /* autoload config */
     if (isset($autoload['config'])) {
         foreach ($autoload['config'] as $key => $val) {
             $this->config($val, TRUE);
         }
     }
     /* autoload helpers, plugins, scripts, languages */
     foreach (array('helper', 'plugin', 'script', 'language') as $type) {
         if (isset($autoload[$type])) {
             foreach ($autoload[$type] as $item) {
                 $this->{$type}($item);
             }
         }
     }
     /* autoload base classes */
     if (isset($autoload['class'])) {
         foreach ($autoload['class'] as $class) {
             modules::autoload($class);
         }
     }
     /* autoload models */
     if (isset($autoload['model'])) {
         foreach ($autoload['model'] as $model => $alias) {
             is_numeric($model) ? $this->model($alias) : $this->model($model, $alias);
         }
     }
     /* autoload module controllers */
     if (isset($autoload['modules']) and !in_array($this->_class, $autoload['modules'])) {
         foreach ($autoload['modules'] as $module) {
             $this->module($module);
         }
     }
 }