CoreMVC  ·下载 ·文档 ·模块 | ·Hello World ·框架结构

core::init

(CoreMVC 1.0)

core::init — 初始化配置



◎描述
array core::init ( [ array $config = null [, mixed &$variable = null ] ] )

array core::init ( string $filename [, mixed &$variable = null ] )

mixed core::init ( string $attribute [, mixed &$variable = null ] )

array core::init ( bool $clear [, mixed &$variable = null ] )

该方法可以通过关联数组配置,可以通过导入文件配置,可以清空配置,在配置的同时触发相应的函数。该方法提供通过属性名称取得属性值。该方法还可以针对某个变量进行配置,而不仅限于核心模块。
◎参数
config
当前要配置的关联数组,数组下标为属性名称,数组值为属性值。如果传入的是空值也会重新初始化。
filename
当前要导入的配置文件。文件名必须以“.php”和“.ini”结尾,否则被视为属性名称。
attribute
要取得属性值的属性名称,如果该属性名称不存在则返回空串。
variable
当前需要配置的变量,默认是核心模块。
clear
是否要完全清空当前配置,如果是则清空为空数组,如果否则完全不变,并且不会触发相应的函数。此参数多用于框架和调试。
◎返回值
如果传入属性名称则返回属性值,未找到时返回空串。其他情况下都会返回配置数组。
◎修改日志
版本	描述
1.2 将第二个参数修改为传址变量,可对此变量进行初始化。 1.1 新增 $class_name 参数,$level 改为1-5级并且正数取值负数赋值。
◎例子
配置核心模块的各种方法

《index.php》
<?php
require_once 'core.php';

core::init(); //在核心模块里修改静态变量

core::init(true); //清空核心模块配置。

var_dump(core::init(false)); //原封不动返回当前配置信息。

core::init(array('autoload_enable'=>true)); //配置某个属性,并且立即生效。

core::init('config.php'); //导入配置文件(返回数组形式),会和之前的配置叠加。

core::init('config.ini'); //导入配置文件(ini格式的),会和之前的配置叠加。

var_dump(core::init('autoload_enable')); //显示1,这是取单个属性值

var_dump(core::init('autoload_path')); //未设置的属性值会返回空串
?>


《config.php》
<?php
return array(
    
'autoload_enable' => true,
);
?>


《config.ini》
autoload_enable = true
使用第二个参数的方法

《index.php》
<?php
require_once 'core.php';

$value null;

core::init(null,$value); //$value此时为空数组。

core::init(true,$value); //$value此时为空数组。

var_dump(core::init(false,$value)); //原封不动返回$value值

core::init(array('autoload_enable'=>true),$value); //为$value配置某个属性。

core::init('config.php',$value); //导入配置文件(返回数组形式),会和之前的配置叠加。

core::init('config.ini',$value); //导入配置文件(ini格式的),会和之前的配置叠加。

core::init('autoload_enable',$value);

var_dump($value); //显示1,这是取单个属性值

core::init('autoload_path',$value);

var_dump($value); //未设置的属性值会返回空串
?>


《config.php》
<?php
return array(
    
'autoload_enable' => true,
);
?>


《config.ini》
autoload_enable = true
模块继承核心模块的初始化方法

《index.php》
<?php
require_once 'core.php';

class 
index extends core {

    
/**
     * 配置文件或配置数组
     */
    
private static  = '';

    
/**
     * 初始化函数(继承)
     */
    
public static function init($config null, &$variable null) {
        if (
$variable === null){
            return 
core::init ($configself::$config);
        } else {
            return 
core::init ($config$variable);
        }
    }

}

index::init(); //虽然和核心模块的调用方法一样,但初始化的是index模块的配置。
?>



CoreMVC是PHP的一款小巧精致的MVC框架,遵循New BSD协议发布。