C 방법은 ThinkPHP에서 구성 매개변수를 설정, 획득, 저장하는 데 사용하는 방법으로, 더 자주 사용됩니다.
C 메소드를 이해하려면 먼저 ThinkPHP의 구성을 이해해야 합니다. C 메소드의 모든 동작은 구성과 연관되어 있기 때문입니다. ThinkPHP의 구성 파일은 PHP 배열 형식으로 정의됩니다.
함수 오버로딩 설계로 인해 용도가 다양해 하나씩 설명드리겠습니다.
매개변수 설정
C('DB_NAME','thinkphp');
은 DB_NAME 구성 매개변수의 값이 thinkphp로 설정되어 있음을 나타냅니다. 구성 매개변수는 대소문자를 구분하지 않으므로 다음 작성 방법은 동일합니다.
C('db_name','thinkphp');
단, 구성 정의 사양은 대소문자를 동일하게 유지하는 것이 좋습니다.
프로젝트의 모든 매개변수는 적용되기 전에 이 방법을 통해 동적으로 변경할 수 있습니다. 마지막 설정 값은 이전 설정 또는 기존 구성의 정의를 덮어쓰며 매개변수 구성 방법을 사용하여 새 구성을 추가할 수도 있습니다.
다음과 같은 보조 구성 매개변수 설정을 지원합니다.
C('USER.USER_ID',8);
구성 매개변수는 레벨 2를 초과하지 않는 것이 좋습니다.
여러 매개변수를 설정하려면 일괄 설정을 사용할 수 있습니다. 예:
$config['user_id'] = 1; $config['user_type'] = 1; C($config);
C 메소드의 첫 번째 매개변수가 배열로 전달되면 이는 일괄 할당을 의미합니다.
C('USER_ID',1); C('USER_TYPE',1);
매개변수 가져오기
설정된 매개변수를 얻으려면 다음을 사용할 수 있습니다.
$userId = C('USER_ID'); $userType = C('USER_TYPE');
USER_ID 매개변수가 정의되지 않은 경우 NULL이 반환됩니다.
은 또한 보조 구성 매개변수 획득을 지원할 수 있습니다. 예:
$userId = C('USER.USER_ID');
수신 구성 매개변수가 비어 있으면 모든 매개변수를 가져오는 것을 의미합니다.
$config = C();
설정 저장
버전 3.1에는 일괄 할당에 대해서만 설정 매개변수를 영구적으로 저장하는 기능이 추가되었습니다. 예:
$config['user_id'] = 1; $config['user_type'] = 1; C($config,'name');
구성 매개변수를 일괄적으로 설정하면 현재의 모든 구성 매개변수가 캐시 파일(또는 기타 구성된 캐싱 방법)에 저장됩니다.
저장 후 저장된 매개변수를 검색하려면
을 사용하세요.$config = C('','name');
이름은 앞서 매개변수를 저장할 때 사용한 캐시 식별자입니다. 저장된 매개변수를 올바르게 검색하려면 일관성이 있어야 합니다. 검색된 매개변수는 수동 병합 없이 현재 구성 매개변수와 병합됩니다.
코드는 다음과 같습니다.
class TestAction extends Action{ /** * $config['user_id'] = 1; $config['user_type'] = 1; C($config); 如果C方法的第一个参数传入数组,就表示批量赋值,上面的赋值相当于: C('USER_ID',1); C('USER_TYPE',1); 获取参数 要获取设置的参数,可以用: $userId = C('USER_ID'); $userType = C('USER_TYPE'); */ public function index(){ C('USER_ID',102); //给参数赋值 C('USER_TYPE',107); //给参数赋值 dump(C('USER_ID')).'<br/>';//102=>获取设置的参数 dump(C('USER_TYPE')).'<br/>';//107=>获取设置的参数 $this->display(); } }