mvc 框架 2-配置添加

    xiaoxiao2021-03-31  35

    我们之前已经将简单的mvc框架封状出来了

     那么现在我们对我们封装的mvc框架进行填充,首先我们从配置项上下手

     

    需求:将路由以及连接数据变量设置成配置文件

    文件:core/lib/conf.php  配置文件

           :core/config/放置对应配置文件

     那么首先读取配置文件的思路:

     1、 首页我们要在core/lib文件下建立conf.php文件编写调用方法将配置文件以及配置项以参数形式输入

    /**              * 1、判断配置文件是否存在              * 2、判断配置是否存在              * 3、缓存配置              */

    2、之后在core文件下建立config 文件编写所使用的配置文件返回配置数据(数组形式)

    3、使用conf类调用配置文件所对应的配置属性

    /core/lib/conf.php

    <?php namespace core\lib; class conf{ //缓存配置 static public $conf = array(); static public function get($name,$file){ /** * 1、判断配置文件是否存在 * 2、判断配置是否存在 * 3、缓存配置 */ //判断是否已经加载该文件  if(isset(self::$conf[$file])){ return self::$conf[$file][$name]; }else{ // p(1); $path = PATH.'/core/config/'.$file.'.php'; //判断配置文件是否存在 if(is_file($path)){ $conf = include $path; //判断配置是否存在 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){ if(isset(self::$conf[$file])){ return self::$conf[$file]; }else{ $path = PATH.'/core/config/'.$file.'.php'; // p($path);exit; //判断配置文件是否存在 if(is_file($path)){ $conf = include $path; // p($path);exit; //缓存文件  self::$conf[$file] = $conf; return $conf; //判断配置是否存在 }else{ throw new \Exception('找不到配置文件'.$file); } } } } ?>

    core/config/route.php

    <?php return array( 'CONTROLLER'=>'indexss', 'ACTION'=>'index' ); ?>

    \core\lib\route.php  文件调用

    实例化conf类

    调用对应配置

    core/config/database.php

    <?php return array( 'DSN' =>'mysql:host=localhost;dbname=yii3', 'USERNAME'=>'root', 'PASSWORD'=>'root' ); ?> /core/lib/model/php调用

    <?php namespace core\lib; use \core\lib\conf; class model extends \PDO{ public function __construct(){ $database = conf::all('database'); p($database); try{ parent::__construct($database['DSN'],$database['USERNAME'],$database['PASSWORD']); } catch (\PDOException $e){ p($e->getMessage()); } } }

    这样就实现了配置项的写入以及读取

    转载请注明原文地址: https://ju.6miu.com/read-665357.html

    最新回复(0)