如何封装一个自己的mvc框架(五)

本文介绍了一个简单的日志系统的实现过程,包括日志类的设计、配置文件的设置以及日志驱动的编写,最后演示了如何在核心文件中调用日志功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

需要有一下几个步骤

     * 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);

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



欲知后事如何请听下回分解......



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值