Home  >  Article  >  Backend Development  >  Thinkphp c method usage example_PHP tutorial

Thinkphp c method usage example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:24:46719browse

1. The role of the C method

a. Load and set the user's configuration and save it in the static variable $_config within a C function

b. Read user configuration (read from $_congig)

2. Demand analysis:

1. Set variables

1. Two-dimensional array

Copy code The code is as follows:

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

C('DB.USER_NAME','XIAOCHEN);

2. One-dimensional array

Copy code The code is as follows:

C('USER_NAME','Xiao Chen' );

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

2. Read variables

One dimension: C('USER_NAME');

Two-dimensional: C('DB.DB_PASSWORD');

3. During debugging, view all configuration information

C();

3. Storage method and why should it be stored in this way?

First let’s look at a problem $arr=array('db'=>'mysql','DB'=>'mysql','Db'=>'mysql'); From this array we can I see that db points to mysql, but it occupies three storage spaces. The development of the project is not completed by one person, and everyone's writing habits may be different, so in order to avoid this situation, the unified subscript transfer is lowercase (of course uppercase is also acceptable), since the array in the configuration file has only two dimensions at most, it is enough to lowercase the subscript of the one-dimensional array

4. How is it used in actual combat?

Since PHP operates on arrays very conveniently, the configuration file is generally written in a configuration file and returned in the form of an array

The general format is:

Copy code The code is as follows:

config.php'mysql',...);

Write the variable into C: C(include 'config.php'); After writing, C('DB') can get the value

5. Written by the author (new function of dynamically adding 2D configuration)

Copy code The code is as follows:

C(array('name'=>'mysql','password'= >'root'),'db') After execution array('db'=>array('name'=>'mysql','password'=>root))

Code example:

Copy code The code is as follows:

function C($name=null,$value=null ){
static $_config = array();
if(!is_null($name)){
if(is_string($name)){
if(is_null($value)){
if(!strpos($name,'.')){
$name = strtolower($name);
return isset($_config[$name]) ? $_config[$name] : null;
}else{
$name = explode('.',$name);
$name[0] = strtolower($name[0]);
return isset($_config [$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;
}
}else{
if( !strpos($name,'.')){
$_config[strtolower($name)] = $value;
}else{
$name = explode('.',$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;
}
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/825311.htmlTechArticle1. The role of the C method a. Load and set the user's configuration, a static variable saved in a C function $ _config in b. Read the user's configuration (read from $_congig) 2. Requirements analysis: 1. Setting changes...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn