mvc 框架 2-配置添加

本文介绍了一个简单的MVC框架中如何实现配置项的管理和使用。通过创建配置文件和配置类,实现了路由设置和数据库连接参数的灵活配置。

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

我们之前已经将简单的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());

	   	}
   }
}



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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值