zoukankan      html  css  js  c++  java
  • 配置文件

    引入配置文件,先我们MyPDO类中 有数据库的连接信息,还有在框架类中的一些平台参数等

    配置文件创建并分组

    <?php 
    
    //配置文件
    return array(
        /**
         * 配置文件分组
         */
        'db' =>array( // 数据库信息组
            'host' =>'localhost',
            'port'=>'3306',
            'dbname' =>'my_db',
            'user' =>'root',
            'pwd' =>'root',
            'charset' =>'utf8',
        ),
        'App' => array( //应用程序组
            'default_platform' =>'test'    //默认平台
        ),
        'Home' =>array(  //前台平台组
    
        ),
        'Test' =>array( //测试平台组
            'default_controller' =>'Mybank',
            'default_action' =>'show'
        )
    );

    在框架类中实现配置文件,并且复制给超全局变量

    1.

        //初始化配置文件,并且复制给超全局变量,可以在任何地方访问
        private static function initConf(){
            $GLOBALS['conf']=include CONFIG_DIR.'conf.php';
        }

    2.在基本目录常量中定义conf.php的目录

         * 基本目录常量
         */
        private static function initDir(){
            //定义目录
            define('ROOT_DIR',str_replace('\','/',getcwd().'/'));
            //定义app目录
            define("APP_DIR",ROOT_DIR."app/");
            //定义frame目录
            define('FRAME_DIR',ROOT_DIR."frame/");
            //定义Config配置目录
            define('CONFIG_DIR',APP_DIR.'COnfig/');
        }

    3.在分发参数中,设置默认的平台,控制器,动作

        /**
         * 获取分发参数 p c a
         */
        private static function  initFenFaParam(){
            //获取平台platfrom p参数
            define('PLATFORM',isset($_GET['p']) ? $_GET['p'] : $GLOBALS['conf']['App']['default_platform']);
            //获取分发参数c
            define('CONTROL',isset($_GET['c']) ? $_GET['c'] : $GLOBALS['conf']['Test']['default_controller']);
            //获取分发参数a
            define('ACTION',isset($_GET['a']) ? $_GET['a'] : $GLOBALS['conf']['Test']['default_action'] );
        }

     4.在Model模型中设置数据库信息

    <?php 
    class Model
    {
        protected $link;
        public function __construct(){
            $this->initInstance();
        }
    
        public function initInstance(){
            $config=$GLOBALS['conf']['db'];
            $this->link = MyPDO::getInstance($config);
        }
    }

    5.在构造函数中,在获取分发参数之前执行这个初始化配置函数

        /**
         * 整体的项目运行函数
         */
        public static function run(){
            //1、定义基础常量
            self::initDir();
            //初始化配置
            self::initConf();
            //2、确定分发参数
            self::initFenFaParam();
            //3、定义当前平台相关的目录常量
            self::initCurrentConst();
            //4、自动加载类
            spl_autoload_register('self::autoLoad');
            // self::initAutoLoad();   也可以使用这个,在类里面在定义一个函数initAutoLoad( spl_autoload_register( 自动函数方法));
            //5、请求分发
            self::initFenFa();
        }
  • 相关阅读:
    VC 多文档用户界面设计
    如何把Windows7 库 更改成 我的电脑
    解决多文档程序框架中建立新的子框架类后出现“创建空文档失败”的问题
    我们从UNIX之父Dennis Ritchie​身上学到了什么
    在Unicode环境下读出和写入文件
    Android活动的生命周期
    Godaddy 上的域名服务器状态查询
    v8 javascript SHELL
    vim E492: Not an editor command: ^M
    Ubuntu 11.10不能使用USB安装的解决方法
  • 原文地址:https://www.cnblogs.com/xiaowie/p/14337968.html
Copyright © 2011-2022 走看看