Exemplo n.º 1
0
 /**
  * 初始化环境,返回action层对应类的实例
  * @return class 触发到的action层对应类
  */
 public function init()
 {
     Vera_Autoload::init();
     $router = new Vera_Router();
     if (!Vera_Router::isApp()) {
         //如果app未开启,停止运行
         exit;
     }
     set_exception_handler('Action_Error::run');
     //最高级的异常捕获,统一显示为每个app自定的错误
     self::$Log = new Vera_Log();
     self::$Log->init();
     if (Vera_Autoload::isExists('Action_Auth')) {
         if (!Action_Auth::run()) {
             Vera_Log::addNotice('auth', 'fail');
             exit;
         }
         Vera_Log::addNotice('auth', 'success');
     }
     return $router->getAction();
 }
Exemplo n.º 2
0
 /**
  * 写入文件
  * @param  string $level 日志文件名
  * @param  string $log   日志内容
  * @return bool        写入状态
  */
 private static function _writeLog($level = '', $log = '')
 {
     if (!Vera_Router::isApp()) {
         //检查是否为合法的App
         return false;
     }
     $logDir = SERVER_ROOT . 'log/' . $GLOBALS['APP_NAME'];
     if (!is_dir($logDir)) {
         mkdir($logDir);
     }
     $file = $logDir . "/" . strtolower($level) . ".log";
     $fp = fopen($file, 'a');
     if (!$fp) {
         return false;
     }
     if (flock($fp, LOCK_EX)) {
         fwrite($fp, $log . PHP_EOL);
         flock($fp, LOCK_UN);
         //释放锁定
     } else {
         Vera_Log::addErr('can`t lock file!');
     }
     fclose($fp);
     return true;
 }
Exemplo n.º 3
0
 function __construct()
 {
     $conf = Vera_Conf::getConf('router');
     self::$routerMap = $conf['map'];
     self::$appMap = $conf['app'];
 }