我们之前已经将简单的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()); } } }
这样就实现了配置项的写入以及读取
