怎样封装一个自己的mvc框架(五)

it2022-05-26  70

 

这一节 我们的框架需要完善一项功能,

那就是日志功能,通过查看日志我们可以查看之前操作的控制器!

首先我们需要创建一个日志类

需要有一下几个步骤

     * 1.确定日志存储方式     *     * 2.写日志

<?PHP namespace core\lib;use core\lib\config;class log {    static $class;    /**     * 1.确定日志存储方式     *     * 2.写日志     */    static public function init()    {        //确定存储方式        $drive = config::get('DRIVE','log');        //存储方式路径        $classpath= '\core\lib\drive\log\\'.$drive;        self::$class=new $classpath;    }

    //调用存储驱动存储日志文件    static public function log($message,$file='log')    {        self::$class->log($message,$file);    }}

 

 

然后在我们的配置文件中,编写日志的配置项目

<?php return array(    'DRIVE'=>'file',    'OPTION'=>array(        'PATH'=>ROOT."/log//"    ));

 

 

 

在这里我们需要创建一个日志驱动文件

日志存储方式可以使存储在文件中,也可以存在数据库等里面

所以至少创建两种驱动方式

暂时先不考虑数据库默认文件存储

<?php namespace core\lib\drive\log;use core\lib\config;//文件系统class file{    public $path ;    //初始化方法    public function __construct()    {        $path=config::get('OPTION','log');        $this->path=$path['PATH'];    }    //创建日志文件    public function log($message,$file='log')    {        /**         * 1.日志存储位置是否存在         *         * 2.写日志         */         if (!file_exists($this->path.date('YmdH'))) {             mkdir($this->path.date('YmdH'));         }          //换行符PHP_EOL        return  file_put_contents($this->path.date('YmdH')."/".$file.".txt", date('Y-m-d H:i:s').json_encode($message).PHP_EOL,FILE_APPEND);    }

 

 

最后在我我们的核心文件中引入日志类

//初始化日志存储方式\core\lib\log::init();

 

//调用日志存储方式

\core\lib\log::log("control:".$control."      "."antion:".$action);

然后运行框架出现日志文件,运行成功!!

 

转载于:https://www.cnblogs.com/quanzhiguo/p/7363386.html

相关资源:Android MVC框架 网络封装

最新回复(0)