이 글은 A, B, C, D 메소드 등 문자 기능과 관련된 문제를 주로 소개하는 thinkphp에 대한 관련 지식을 제공합니다. 모든 분들께 도움이 되기를 바랍니다.
추천 학습: "thinkphp learning"
는 컨트롤러를 내부적으로 인스턴스화하는 데 사용됩니다. 호출 형식:
// A('[项目://][分组/]模块','控制器层名称')$User = A('User');$User = A('Admin://User');
컨트롤러를 인스턴스화한 후 컨트롤러에서 메서드를 호출할 수 있지만 프로젝트 간 호출의 경우 작업 방법에 현재 컨트롤러에 대한 특수 변수 작업이 있는 경우 몇 가지 알 수 없는 문제가 있을 수 있습니다. 따라서 일반적으로 공식적인 권장 사항에는 컨트롤러 계층이 필요합니다. 별도로 개발되었으며 종속성이 너무 많지 않습니다.
이것은 동작과 함께 제공되고 특정 동작을 실행할 수 있는 새로운 함수입니다. 예를 들어
B('app_begin');
는 프로젝트가 시작되기 전에 이 동작으로 정의된 모든 기능을 실행하는 것입니다. 2개의 매개변수를 지원하며, 두 번째 매개변수는
B('app_begin', ["name" => "tdweb","time"=>time()]);
C 방법과 같은 배열을 허용해야 합니다.
C 방법은 구성 매개변수를 설정, 획득 및 저장하는 Think의 방법이며 더 자주 사용됩니다.
동적으로 설정된 구성 매개변수 구성 매개변수는 대소문자를 구분하지 않지만 구성 정의 사양을 동일한 대문자로 유지하는 것이 좋습니다.
C('DB_NAME','think');
두 번째 수준 구성 매개변수 설정을 지원합니다. 구성 매개변수가 두 번째 수준을 초과하는 것은 권장되지 않습니다. 예:
C('USER.USER_ID',8);
여러 매개변수를 설정하려는 경우 일괄 설정을 사용할 수 있습니다. 예:
$config['user_id'] = 1;$config['user_type'] = 1;C($config);
$config = C();
D 방법
D 방법 사용자 정의 모델 클래스를 인스턴스화하는 데 사용되는 많은 메소드가 있습니다. 이는 Think 프레임워크에 의한 모델 클래스 인스턴스화를 캡슐화하고, 프로젝트 간 및 그룹 호출을 지원하는 싱글톤 모드를 구현합니다.
D('[项目://][分组/]模型','模型层名称')
메소드 반환 값은 인스턴스화된 모델 객체입니다.
D 메서드는 모델 클래스를 자동으로 감지할 수 있습니다. 사용자 정의 모델 클래스가 존재하지 않으면 모델 기본 클래스가 인스턴스화되지 않습니다. 반복됩니다. 인스턴스화로 이동합니다.
// 实例化 User 模型$User = D('User');
F 메서드
F 메서드는 실제로 S 메서드의 하위 집합이며 간단한 데이터 캐싱에만 사용됩니다. 파일 형식은 지원하지만 캐시 유효 기간은 지원하지 않습니다. 반환 방식을 사용하므로 S 방식보다 효율성이 높기 때문에 빠른 캐시 방식이라고도 합니다.
F('data','test data');
DATA_PATH
입니다(이 상수는 기본 구성에서RUNTIME_PATH.'Data/' 아래에 위치합니다). 즉, 파일 이름이 생성됩니다. DATA_PATH .'data.' 캐시 파일. 참고: 데이터 덮어쓰기 및 충돌을 방지하려면 캐시 식별자가 고유한지 확인하세요.
다음에 캐시된 데이터를 읽을 때 다음을 사용하세요.$Data = F('data');
F('user/data',$data); // 缓存写入F('user/data'); // 读取缓存
DATA_PATH.'user/data.'
캐시 파일을 생성합니다. 존재하지 않는 경우 자동으로 생성됩니다. 예를 들어,F('level1/level2/data',$data);
F('data',$data,TEMP_PATH);
F('data',NULL);
G('begin');
G('begin'); // ...其他代码段G('end'); // ...也许这里还有其他代码 // 进行统计区间echo G('begin','end').'s';
G('begin','end')
는 처음부터 실행 시간을 계산하는 것을 의미합니다. 끝 위치까지의 위치(단위는 초), 시작은 표시된 위치여야 합니다. 이때 끝 위치가 표시되지 않은 경우 현재 위치가 자동으로 끝 레이블로 표시됩니다.
0.0056s
G('begin','end',6).'s';
echo G('begin','end','m').'kb';
625kb
正如你所见到的一样,I 方法是 Thinkphp 众多单字母函数中的新成员,其命名来自于英文 Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:
I('变量类型.变量名',['默认值'],['过滤方法'])
变量类型是指请求方式或者输入类型,包括:
方式 | 说明 |
---|---|
get | 获取 GET 参数 |
post | 获取 POST 参数 |
param | 自动判断请求类型获取 GET、POST 或者 PUT 参数 |
request | 获取 REQUEST 参数 |
put | 获取 PUT 参数 |
session | 获取 $_SESSION 参数 |
cookie | 获取 $_COOKIE 参数 |
server | 获取 $_SERVER 参数 |
globals | 获取 $GLOBALS 参数 |
注意:变量类型不区分大小写。变量名则严格区分大小写。
默认值和过滤方法均属于可选参数。
L 方法用于启用多语言的情况下,设置和获取当前的语言定义。
调用格式:
L('语言变量',['语言值'])
M 方法用于实例化一个基础模型类,和 D 方法的区别在于:
D 方法的强大则体现在你封装的自定义模型类有多强,不过随着新版 Think 框架的基础模型类的功能越来越强大,M 方法也比 D 方法越来越实用了。
M 方法的调用格式:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
R 方法用于调用某个控制器的操作方法,是 A 方法的进一步增强和补充。
R 方法的调用格式:
R('[项目://][分组/]模块/操作','参数','控制器层名称')
可以通过 R 方法在其他控制器里面调用这个操作方法(一般 R 方法用于跨模块调用)
$data = R('User/detail',array('5'));
官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用
S 方法还支持对当前的缓存方式传入缓存参数,例如:
S('data',$Data,3600,'File',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));
为了更方便的输出模板文件,新版封装了一个 T 函数用于生成模板文件名。
T([资源://][模块@][主题/][控制器/]操作,[视图分层])
T 函数的返回值是一个完整的模板文件名,可以直接用于 display 和 fetch 方法进行渲染输出。
U 方法用于完成对 URL 地址的组装,特点在于可以自动根据当前的 URL 模式和设置生成对应的 URL 地址,格式为:
U('地址','参数','伪静态','是否跳转','显示域名');
在模板中使用 U 方法而不是固定写死 URL 地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。
推荐学习:《thinkphp框架》
위 내용은 ThinkPHP 알파벳 함수 구성 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!