`

ThinkPHP 大字母函数A-F —— (一)

阅读更多

A 实例化多层控制器 

格式:[资源://][模块/]控制器

A函数是用来实例化我们的Action类的(在3.2的版本中同样可以使用于Controller类),eg:

在程序中有2个Action 分别是IndexAction 和 TestAction, 在IndexAction中有个showHello的方法能够输出Hello world !如果在TestAction中同样需要这么个操作,最原始的方法就是导入文件,使用A方法就会使得代码简洁的多。

//原始代码
class TestAction extends Action{
    public function index(){
        $index = new IndexAction(); //实例化IndexAction,如果俩Action不在同一个目录下,还需要添加路径
        echo $index->showHello(); //调用showHello()方法
    }
}

/* 使用A函数
*  使用A函数,不需要导入文件,只需要将实例化IndexAction的代码稍作修改
*/
    $index = A('IndexAction');  //实例化IndexAction

 A 函数还有三个参数  A($name, $layer='', $level='')

$name : 资源地址

$layer : 控制器名称

$level : 控制器层次

return Controller | false

B 执行某个行为

 这是随着行为应运而生的新生函数,可以执行某个行为,例如B('app_begin');就是在项目开始之前,执行这个行为定义的所有函数,支持2个参数,第二个参数支持需要接受一个数组,例如

B('app_begin',array("name"=>"tdweb","time"=>time()));
 	B($name, $tag='', &$params=null)
 		$name(string)	 : 行为名称
 		$tag(string) 	 : 标签名称(行为类无需传入)
 		$params(mixed)	 : 传入的参数
 		return  void 

 C  获取和设置配置参数,支持批量定义

 获取值:

 获取所有设置 :C(); 不传递任何参数,返回一个包含所有设置的数组。

 获取指定配置 :C('URL_MODEL'); 得到URL_MODEL的配置信息。

 获取指定二维数组配置 :C('array.name'); 返回数组array下的key为name所对应的值

 设置值:

 为二维数组赋值C('array.name','value');给array下的key为name所对应的值赋予新的value值

 批量赋值:

 

$test = array('URL_MODEL'=>1,"THIN_MODEL"=>true);
 		C($test);   //直接将数组里的值赋值了

 注意: 需要说明的是,这里虽然更改了配置的值,但是仅仅是这个页面做了更改,到下个页面就不起作用了,如果想永久更改,需要配合F函数,将配置文件写入config.php才行

C($name=null, $value=null, $default=null);

$name(string|array) : 配置变量

$value(mixed) : 配置值

$default : 默认值

return mixed

 D 实例化模型类

格式 [资源://][模块/] 模型

 和A函数类似,如果不使用D函数,就需要导入Model,然后new Model,剩下的就一样了。

 但,D函数有2个点,一是如果之前实例化过这个Model,那么就不再实例化了,省资源;二是方便调试,如果不存在这个Model,会抛出TP异常,非常人性化。

 如果访问本项目的Model直接D("Model名称");就可以了,如果打算跨项目访问,就使用D("Model名称","项目名称");

 D($name='', $layer='');

 $name(string)  : 资源地址

 $layer(string) : 模型层名称

 return  Model

E 抛出异常处理

E($msg, $code=0);
 	$msg(string) : 异常消息
 	$code(integer) : 异常代码 默认为0
 return  void

 F 快速文件数据读取和保存,针对简单类型数据 字符串、数组

 快速保存数据:

 F('mydata',$data);就会在项目Data目录下保存一个名叫mydata.php的文件,里面的内容是该函数的第二个参数

 指定保存时间:

F('mydata',$data,60);数据保存的时间为60秒,间隔大于60秒,缓存文件会被删除

 指定保存目录:

F('mydata',$data,60,DATA_PATH);  指定数据保存在data目录下

 立即删除缓存:

F('mydata',null);第二个参数传递null值,就是将mydata的数据内容清空 

 读取缓存数据:

F('mydata'); 读取mydata的缓存数据

 F($name, $value="", $path=DATA_PATH);

 $name(string) : 缓存名称

 $value(mixed) : 缓存值

 $path(string) : 缓存路径

 return mixed

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics