>  기사  >  백엔드 개발  >  thinkphp의 c 메소드 사용

thinkphp의 c 메소드 사용

不言
不言원래의
2018-06-08 16:15:243051검색

이 글은 주로 thinkphp의 c 메소드의 사용법을 소개하고 있는데, 이제는 모든 사람들과 공유합니다. 도움이 필요한 친구들은 참고할 수 있습니다.

thinkphp를 사용해 본 친구들은 C() 메소드가 사용된다는 것을 알고 있습니다. 전체 프레임워크입니다. C 메소드의 구현은 매우 간단하지만 기능은 매우 강력합니다. 다음은 C() 메소드

1에 대한 자세한 설명입니다. C 메소드

a. 사용자 구성을 로드하고 설정하고 C 함수 내의 정적 변수 $_config에 저장합니다.

b. 사용자 구성 읽기($_congig에서 읽기)

2.

1. 변수 설정

1. 2차원 배열

C(array('DB_PASSWORD'=>'root','DB_USERNAME'=>'root'),'DB');
C('DB.USER_NAME','XIAOCHEN);

2. 1차원 배열

C('USER_NAME','小陈');
C(array('USER_NAME'=>'chen','USER_HEIGHT'=>'170'));

2.1차원: C('USER_NAME');2차원 배열 : C('DB.DB_PASSWORD');

3. 디버깅 시 모든 구성 정보 보기

C();

3. 저장 방법 및 이유

먼저 문제를 살펴보겠습니다. $arr=array('db'=>'mysql','DB'=>'mysql','Db'=>'mysql'); db가 mysql을 가리키는 것을 보니 3개의 저장공간을 차지한다. 프로젝트 개발은 한 사람이 완료하는 것이 아니고, 사람마다 쓰는 습관이 다를 수 있으므로 이런 상황을 피하기 위해 통일된 첨자 전송은 소문자로 한다. (물론 대문자도 가능합니다.) 구성 파일의 배열은 최대 2차원이므로 1차원 배열의 첨자를 소문자로 사용해도 충분합니다

4. 실제 전투에서는 어떻게 사용되나요?

php는 배열에서 작동하기가 매우 편리하므로 구성 파일은 일반적으로 구성 파일에 작성되고 배열 형식으로 반환됩니다.일반적인 형식은 다음과 같습니다.

config.php<?  return array(&#39;DB&#39;=>&#39;mysql&#39;,......);

변수를 C에 쓰기 : C(include ' config.php'); 작성 후 C('DB')는

5 값을 얻을 수 있습니다. 작성자가 작성했습니다(2차원 구성을 동적으로 추가하는 새로운 기능)

 C(array(&#39;name&#39;=>&#39;mysql&#39;,&#39;password&#39;=>&#39;root&#39;),&#39;db&#39;) 执行后array(&#39;db&#39;=>array(&#39;name&#39;=>&#39;mysql&#39;,&#39;password&#39;=>root))

코드 예:

function C($name=null,$value=null){
  static $_config = array();
   if(!is_null($name)){
    if(is_string($name)){
     if(is_null($value)){
      if(!strpos($name,&#39;.&#39;)){
       $name = strtolower($name);
       return isset($_config[$name]) ? $_config[$name] : null; 
      }else{
       $name = explode(&#39;.&#39;,$name);
       $name[0] = strtolower($name[0]);
       return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;
      }
     }else{
      if(!strpos($name,&#39;.&#39;)){
       $_config[strtolower($name)] = $value;
      }else{
       $name = explode(&#39;.&#39;,$name);
       $_config[strtolower($name[0])][$name[1]] = $value;
      }
      return ;
     }
    }elseif(is_array($name)){
     if(is_null($value))
      $_config = array_merge($_config,$name);
     else{
      $_config[$value] = $name;
     }
     return ;
    }
   }else{
       return empty($_config) ? null: $_config;
  }
}

이제입니다. 이 글이 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해 주세요!

관련 추천:

ThinkPHP의 R 메소드 예제


위 내용은 thinkphp의 c 메소드 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.