/** * 初始化参数 * @param [array] $config [配置数组] */ public function __construct($config = []) { if (self::$store == null) { self::$store = App::getComponent('cache')->getRedis(); } self::$store->connect($config['host'], $config['port']); }
/** * 初始化框架 * * 定义常量以及设置一些配置项 * @param string $conf 配置文件路径 * @return */ protected static function init($conf = '') { self::$microTime = microtime(true); define('BASE_PATH', __DIR__); define('DS', DIRECTORY_SEPARATOR); // 请求方式 http or cli if (isset($_SERVER['argc'])) { define('IS_CLI', true); } else { define('IS_CLI', false); $http_type = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ? 'https://' : 'http://'; define('HOST_NAME', $http_type . $_SERVER['HTTP_HOST']); } // 定义css js img 资源的路径 define('ASSET_PATH', HOST_NAME . '/oa1024/public/'); // 注册自动加载方法 spl_autoload_register([__CLASS__, 'autoLoadHandler']); // Ioc容器 self::$container = Container::getInstance(); App::$config = self::getComponent('config'); App::$id = App::$config->get('application.id'); self::loadHooks(); // session if (App::$config->get('session.auto_start', false) == true) { App::getComponent('session')->start(); } self::$time = (int) self::$microTime; // 服务器操作系统 define('IS_WIN', stripos(PHP_OS, 'WIN') === false ? false : true); defined('APP_PATH') or define('APP_PATH', BASE_PATH); // 错误处理函数 set_error_handler([__CLASS__, 'errorHandler']); // 异常处理函数 set_exception_handler([__CLASS__, 'exceptionHandler']); // 注册脚本结束调用的方法 register_shutdown_function([__CLASS__, 'shutdown']); }
public function redirect($controller, $action = '') { header('Location: ' . App::getComponent('request')->createLink($controller, $action)); exit; }
public function __construct() { $this->_adapter = App::getComponent('db'); parent::__construct(); }
public function login(\models\User $user) { $this->session->set('user', $user); App::getComponent('request')->reGenerateCSRF(); return true; }
public function getCSRF() { return App::getComponent('session')->get('csrf'); }