G方法
标记位置:
G(‘begin’);
运行时间统计
G(‘begin’);
//Code
G(‘end’);
echo G(‘begin’,’end’).’s’;
内存开销
echo G(‘begin’,’end’,’m’).’kb’;
D方法,用于实例化自定义模型类,
调用格式:D(‘[项目://][分组/]模型’,’模型层名称’);
D方法可以自动检测模型类,如果存在自定义模型类,则实例化,否则实例化Model基类,同时不会对已实例化的模型去重复实例化。
D(‘Admin://User’);//实例化Admin项目的User模型
D(ADmin/User‘)//实例化Admin分组的User模型
M方法
M方法用于实例化一个基础模型类,和D方法的区别在于:
1、不需要自定义模型类,减少IO加载,性能较好
2、实例化后只能调用基础模型类中的方法
3、可以在实例化的时候制定表前缀、数据库和数据库连接信息
调用格式:M('[基础模型名:]模型名','数据库前缀','数据库连接信息');
$User = M('User','think_','mysql://user:password@host:port/database');
A方法
用于在内部实例化控制器
调用格式:A('[项目//][分组]模块','控制器层名称')
$User = A('User');//实例化当前项目的UserAction控制器
$User = A('Admin/User');
$User = A('Admin://User');//实例化Admin项目下的UserAction控制器
import方法是TP用于类库导入的封装实现
应用格式:import('类库名','起始路径','类库后缀')
导入系统类库
import('Think.Util.Array');//require THINK_PHP.'Lib/Util/Array.class.php';
import('Think.Util.U1.ClassA');
导入扩展类库位于Extend/library目录线面,目前支持的类库只有ORG和Com包
import('ORG.Util.Image');
import('ORG.Sina.OAuth');
导入项目应用类库import("Myapp.Action.UserAction");
import("Myapp.Model.InfoModel");
表示导入MyApp项目的UserAction和InfoModel类库文件,由于通常是导入当前项目下面的类库,所以简写成:import("@.Action.UserAction");
import("@.Model.InfoModel");
@表示导入当前下面的类库。导入非标准类库文件
import('Common.MyClass',APP_PATH,'.php');
import('MyCLass',APP_PATH,'Common','.php');
第三方类库导入Verdor('Zend.Filter.Dir');
Verdor('Zend.Filter.Dir',dirname(__FILE__),'.class.php');
U方法
用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址。
格式:U('地址','参数','伪静态','是否跳转','显示域名')
U('User/add');//生成User模块的add操作地址
U('Home/User/add');//生成Home分组的User模块的add操作地址
U('add');//生成当前访问模块的add操作地址
U('BLog/read?id=1');//生成Blog模块的read操作并且id为1的URL地址
U('Blog/cate',array('cate_id'=>1,'status'=>1));
U('BLog/cate','cate_id&status=1');
U('Blog/cate?cate_id=1&status=1');
路由支持、域名支持、锚点支持R方法
用于调用某个控制器的操作方法,是A方法的进步增强补充。
调用格式:R('[项目://][分组/]模块/操作','参数','控制器层名称')
C方法
用于设置、获取及保存配置参数。
设置参数
配置参数不区分大小写
C('USER.USER_ID',8);
/*---------------------*/
$config['user_id'] = 1;
$config['user_type'] = 1;
C($config);
获取参数$userId = C('USER_ID');
$userType = C('USER_TYPE');
$config = C();//配置参数为空,表示获取全部参数
session方法
初始化设置:
session(array('name'=>'session_id','expire'=>3600));
支持传入session的参数:参数名 | 说明 |
name | session_id值 |
name | session_name值 |
path | session_save_path值 |
prefix | session本地化空间前缀 |
expire | session.gc_maxlifetime设置值 |
domain | session.cookie_domain设置值 |
use_cookies | session.use_cookies设置值 |
user_tans_sid | session.use_trans_sid设置值 |
cache_limiter | session.use_cache_limiter设置值 |
cache_expire | session.use_cache_expire设置值 |
type | session hander类型,可以使用hander驱动扩展 |
默认情况下,初始化之后系统会自动启动session,如果不希望系统自启动session,可以设置SESSION_AUTO_START为false
session赋值
session('name','value');//设置session
session取值$value = session('name');
session删除session('name',null);//删除name
session(null);//删除所有session
session判断session('?name');//isset($_SESSION['name']);
session管理session('[pause]');//暂停session写入
session('[start]');//启动session
session('[destory]');//销毁session
session('[regenerate]');//重新生成session id
Cookie方法
cookie设置
cookie('name','value');
cookie('name','value',3600);
cookie('name','value',array('expire'=>3600,'prefix'=>'think_'));
cookie获取$value = cookie('name');
删除cookiecookie('name',null);
cookie(null);//删除所有
cookie(null,'think_');清空制定前缀的所有cookie
cache方法
缓存初始化
cache(array('type'=>'xcache','prefix'=>'think_','expire'=>3600));
缓存设置cache('name','value');
cache('name','value',3600);
cache('name','value',array('type'=>'xcache','prefix'=>'think'));
获取缓存$value = cache('name');
删除缓存cache('name',NULL);
N方法
属于计数器方法,被用于核心的查询、缓存统计的计数和统计。
调用格式:N('计数设置'[,步进值])
L方法
L方法用于启用多语言情况下,设置和获取当前的语言定义。
调用格式:L('语言变量','语言定义')
#设置语言变量
L('LANG_VAR','语言定义')'
L('lang_var','语言定义');
$lang['lang_var1'] = '语言定义1';
$lang['lang_var2'] = '语言定义2';
$lang['lang_var3'] = '语言定义3';
L($lang);
#获取语言变量
$langVar = L('LANG_VAR');
$langVar = L('lang_var');
$langVar = L();//获取当前定义的全部语言变量
#在模板中使用
{$Think.lang.lang_var}