>  기사  >  PHP 프레임워크  >  ThinkPHP 알파벳 함수 구성 가이드

ThinkPHP 알파벳 함수 구성 가이드

WBOY
WBOY앞으로
2022-03-09 18:28:532367검색

이 글은 A, B, C, D 메소드 등 문자 기능과 관련된 문제를 주로 소개하는 thinkphp에 대한 관련 지식을 제공합니다. 모든 분들께 도움이 되기를 바랍니다.

ThinkPHP 알파벳 함수 구성 가이드

추천 학습: "thinkphp learning"

메서드

는 컨트롤러를 내부적으로 인스턴스화하는 데 사용됩니다. 호출 형식:

// A('[项目://][分组/]模块','控制器层名称')$User = A('User');$User = A('Admin://User');

컨트롤러를 인스턴스화한 후 컨트롤러에서 메서드를 호출할 수 있지만 프로젝트 간 호출의 경우 작업 방법에 현재 컨트롤러에 대한 특수 변수 작업이 있는 경우 몇 가지 알 수 없는 문제가 있을 수 있습니다. 따라서 일반적으로 공식적인 권장 사항에는 컨트롤러 계층이 필요합니다. 별도로 개발되었으며 종속성이 너무 많지 않습니다.

B 메소드

이것은 동작과 함께 제공되고 특정 동작을 실행할 수 있는 새로운 함수입니다. 예를 들어

B('app_begin');

는 프로젝트가 시작되기 전에 이 동작으로 정의된 모든 기능을 실행하는 것입니다. 2개의 매개변수를 지원하며, 두 번째 매개변수는

B('app_begin', ["name" => "tdweb","time"=>time()]);

C 방법

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 메서드는 모델 클래스를 자동으로 감지할 수 있습니다. 사용자 정의 모델 클래스가 존재하지 않으면 모델 기본 클래스가 인스턴스화되지 않습니다. 반복됩니다. 인스턴스화로 이동합니다.

D 메서드의 가장 일반적인 용도는 현재 프로젝트의 사용자 정의 모델을 인스턴스화하는 것입니다. 예를 들어:

// 实例化 User 模型$User = D('User');

F 메서드

F 메서드는 실제로 S 메서드의 하위 집합이며 간단한 데이터 캐싱에만 사용됩니다. 파일 형식은 지원하지만 캐시 유효 기간은 지원하지 않습니다. 반환 방식을 사용하므로 S 방식보다 효율성이 높기 때문에 빠른 캐시 방식이라고도 합니다.

    F 방법의 특징은 다음과 같습니다.
  • 파일 형식으로 저장
  • 데이터를 반환하여 캐시 로드
  • 캐시 삭제 및 일괄 삭제 지원;
  • 캐시 쓰기 및 읽기
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);
Delete 캐시

F('data',NULL);
G 방법

G 방법 이 기능에는 위치 표시와 간격 통계라는 두 가지 기능이 포함됩니다. 구체적인 사용법을 살펴보겠습니다.

위치 표시

G 방법의 첫 번째 사용법은 위치를 표시하는 것입니다. 예:

G('begin');

는 현재 위치를 시작 태그로 표시한다는 의미이며, 현재 위치의 실행 시간과 환경에서 지원하는 경우 메모리 사용량도 기록합니다. G 메소드 마커는 어디에서나 호출할 수 있습니다.

실행 시간 통계

위치를 표시한 후 G 메소드를 다시 호출하여 간격 통계를 수행할 수 있습니다. 예:

G('begin');
// ...其他代码段G('end');
// ...也许这里还有其他代码
// 进行统计区间echo G('begin','end').'s';

G('begin','end')

는 처음부터 실행 시간을 계산하는 것을 의미합니다. 끝 위치까지의 위치(단위는 초), 시작은 표시된 위치여야 합니다. 이때 끝 위치가 표시되지 않은 경우 현재 위치가 자동으로 끝 레이블로 표시됩니다.

0.0056s
기본 통계 정확도는 소수점 4자리입니다. 이 통계 정확도가 충분하지 않다고 생각되면 다음과 같이 설정할 수도 있습니다.
G('begin','end',6).'s';
메모리 오버헤드 통계

환경이 메모리 사용량 통계를 지원하는 경우 다음을 수행할 수 있습니다. 또한 G 방법을 사용하여 간격 메모리 오버헤드 통계(단위: kb)를 수행합니다. 예:

echo G('begin','end','m').'kb';
세 번째 매개변수는 m을 사용하여 메모리 오버헤드 통계를 나타내며 출력 결과는 다음과 같습니다.

625kb

I 方法

正如你所见到的一样,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 方法用于启用多语言的情况下,设置和获取当前的语言定义。

调用格式:

L('语言变量',['语言值'])

M 方法

M 方法用于实例化一个基础模型类,和 D 方法的区别在于:

  • 不需要自定义模型类,减少 IO 加载,性能较好;
  • 实例化后只能调用基础模型类(默认是 Model 类)中的方法;
  • 可以在实例化的时候指定表前缀、数据库和数据库的连接信息;

D 方法的强大则体现在你封装的自定义模型类有多强,不过随着新版 Think 框架的基础模型类的功能越来越强大,M 方法也比 D 方法越来越实用了。

M 方法的调用格式:

M('[基础模型名:]模型名','数据表前缀','数据库连接信息')

R 方法

R 方法用于调用某个控制器的操作方法,是 A 方法的进一步增强和补充。

R 方法的调用格式:

R('[项目://][分组/]模块/操作','参数','控制器层名称')

可以通过 R 方法在其他控制器里面调用这个操作方法(一般 R 方法用于跨模块调用)

$data = R('User/detail',array('5'));

官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用

S 方法

S 方法还支持对当前的缓存方式传入缓存参数,例如:

S('data',$Data,3600,'File',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));

T 方法

为了更方便的输出模板文件,新版封装了一个 T 函数用于生成模板文件名。

T([资源://][模块@][主题/][控制器/]操作,[视图分层])

T 函数的返回值是一个完整的模板文件名,可以直接用于 display 和 fetch 方法进行渲染输出。

U 方法

U 方法用于完成对 URL 地址的组装,特点在于可以自动根据当前的 URL 模式和设置生成对应的 URL 地址,格式为:

U('地址','参数','伪静态','是否跳转','显示域名');

在模板中使用 U 方法而不是固定写死 URL 地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。

推荐学习:《thinkphp框架

위 내용은 ThinkPHP 알파벳 함수 구성 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제