MVC框架的封装(八)日志类

接下来我们要做的就是没一个框架必备的日志类。
首先我们现在lib目录下新建一个log.php文件,然后创建log类,我们先来定义一个初始化的方法 init,我们需要把所有驱动信息放到lib下的drive文件夹中,然后在里面在进行建立log文件夹,在里面创建file.php,这代表的是我们的日志存在文件中,在建立一个mysql.php代表的是我们的日志可能存在mysql数据库中。接下来我们还需要一个配置文件,来保存我们当前框架是用的哪一种日志的驱动。在cofig里面创建log.php 。在里面写入 ,

<?php 

   return array(

         'DRIVE'=>'file',
         'OPTION'=>array(
             'PATH'=>MVC.'/log/'
            )
    );

接下来我们回到lib下的log里面的init方法进行编码,我们要通过配置文件加载过来日志类型,然后我们要加载我们的这个类,然后我们去imooc.php里写行代码去启动这个类。

\core\lib\log::init();

然后再lib下的log里面继续写一个方法,

static public function log($name)
       {
           self::$class->log($name);
       }

然后我们在imooc.php中调用这个方法,就可以试试是否可以加载到,

\core\lib\log::log('test');

接下来我们在drive/log下的file文件中来进行我们的配置,首先我们需要一个路径, 我们需要把这些东西写到一个初始化的方法当中去,

<?php 

namespace core\lib\drive\log;
use core\lib\conf;

class file
{    
      public $path;
      public function __construct(){

         $conf = conf::get('OPTION','log');
          $this->path = $conf['PATH'];
      }
}

接下来我们来完成我们一个写日志的功能,首先我们得确定一下文件的存储位置是否存在,不存在的话我们新建一个目录,存在的话我们写入日志。

 public function log($message,$file='log')
      {
           //p($this->path);
           if(!is_dir($this->path)){

                 mkdir($this->path,'0777',true);
           }
           $message = date('Y-m-d H:i:s').$message;
           return file_put_contents($this->path.$file.'.php',json_encode($message));
      }

然后我们的日志类功能就结束了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值