学习封装 MVC (3)
来源:互联网 发布:android 调用js 编辑:程序博客网 时间:2024/05/21 13:21
一、配置加载类
1)创建配置路由
return array( 'CTRL'=>'index', 'ACTION'=>'index');
2)控制器层
1.判断配置文件是否存在
2.判断当前配置是否存在
3.缓存配置
(加载单一配置)
static public $conf=array(); static public function get($name,$file){ $file= BAO.'\core\config\\'.$file.'.php'; //拼接配置文件地址 //判断配置文件 if(isset(self::$conf[$file])){ return self::$conf[$file][$name]; }else{ if(is_file($file)){ $conf=include $file; //存在包含这个配置 //判断当前配置 if(isset($conf[$name])){ self::$conf[$file]=$conf; return $conf[$name]; //存在返回配置名字 }else{ throw new \Exception('找不到这个配置'.$name); } }else{ throw new \Exception('找不到配置文件'.$file); } } }
(加载多个配置文件)
static public function all($file){ $file= BAO.'\core\config\\'.$file.'.php'; //拼接配置文件地址 //判断配置文件 if(isset(self::$conf[$file])){ return self::$conf[$file]; //返回配置文件 }else{ //判断当前配置 if(is_file($file)){ $conf=include $file; self::$conf[$file]=$conf; return $conf;//返回当前整个配置 }else{ throw new \Exception('找不到配置文件'.$file); } } }
二、配置日志类
1.确定日志的储存方式
2.写日志
1)创建日志的配置
return array( 'DRIVE'=>'file', //驱动文件 //驱动路径 'OPTION'=>array( 'PATH'=>BAO.'/log/' ));
2)创建日志的驱动
static $class; static public function init(){ //确定储存方式 $drive=conf::get('DRIVE','log'); $class= '\core\lib\drive\log\\'.$drive;//拼接路径 self::$class=new $class; }
3)创建日志存储的路径
public $path;//日志存储位置 //使用构造方法 public function __construct() { $conf = conf::get('OPTION', 'log'); $this->path = $conf['PATH']; }
4)写日志
1.确定文件的存储位置是否存在
2.如果不存在则新建
3.写入日志
public function log($message, $file = 'log') { //判断目录是否存在,没有则按每小时新建一个目录 if (!is_dir($this->path.date('YmdH'))) { mkdir($this->path.date('YmdH'), '0777', true); } $day = date('Y-m-d H:i:s'); //使用 Json 格式写入时间目录 $cd=file_put_contents($this->path.date('YmdH') .'/'.$file.'.php',$day.json_encode($message).PHP_EOL,FILE_APPEND); return $cd; }
5)修改日志目录为最高权限!
0 0
- 学习封装 MVC (3)
- 浅谈MVC学习封装
- 学习封装 MVC (1)
- 学习封装 MVC (2)
- 学习封装 MVC (4)
- 学习封装 MVC (5)
- 学习封装mvc(八)日志类
- 学习封装mvc(九)composer加载
- mvc 封装3 日志类
- 封装mvc
- MVC 封装之二(3-2)
- MVC 封装之二(3-5)
- 独立封装简单mvc框架(3)
- 学习mvc框架封装(四)加载控制器
- 学习封装mvc系列(五)控制器中连接数据库
- 学习封装mvc(六)视图层的显示
- 学习封装mvc框架(七)配置加载类
- 学习封装mvc框架(十一)twig模板引擎
- 简单的C++程序 c++语言的输入和输出(基本数据类型)
- 欢迎使用CSDN-markdown编辑器
- c++知识复习4.0
- 线性表顺序存储API
- 和我一起写Makefile(转载)
- 学习封装 MVC (3)
- 多级指针运算
- 进程的有哪几种状态,状态转换图,及导致转换的事件
- HDU 4607 Park Visit 树的直径
- 替换空格
- 线性表链式存储API
- C++ 求排列函数 next_permutation, prev_permutation
- Intellij快捷键
- 指定Action,Category调用系统Activity