Dieser Artikel stellt hauptsächlich die Verwendung der C-Methode von thinkphp vor. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.
Freunde, die thinkphp verwendet haben, wissen, dass C Die ()-Methode wird im gesamten Framework sehr häufig verwendet. Die Implementierung der C-Methode ist sehr einfach, aber ihre Funktion ist sehr leistungsfähig. Im Folgenden finden Sie eine detaillierte Erklärung und Anwendungsbeispiele der C()-Methode >
1. Die Rolle der C-Methode
a. Laden und Festlegen der Konfiguration des Benutzers, gespeichert in der statischen Variablen $_config
b Die Konfiguration des Benutzers (aus $_congig gelesen)
1 >C(array('DB_PASSWORD'=>'root','DB_USERNAME'=>'root'),'DB');
C('DB.USER_NAME','XIAOCHEN);
C('USER_NAME','小陈'); C(array('USER_NAME'=>'chen','USER_HEIGHT'=>'170'));
Eindimensional: C('USER_NAME');
Zweidimensional: C('DB.DB_PASSWORD' ;
Schauen wir uns zunächst ein Problem an $arr=array('db'=>'mysql','DB'=>'mysql','Db'=>'mysql') ; Aus diesem Array können wir ersehen, dass DB auf MySQL verweist, aber die Entwicklung des Projekts nicht von einer Person abgeschlossen wird und die Schreibgewohnheiten jedes Einzelnen unterschiedlich sein können Einheitliche Indizes werden in Kleinbuchstaben umgewandelt (natürlich sind auch Großbuchstaben akzeptabel). Da das Array in der Konfigurationsdatei höchstens zwei Dimensionen hat, reicht es aus, den Index des eindimensionalen Arrays in Kleinbuchstaben zu schreiben4 .Wie wird es im tatsächlichen Kampf eingesetzt?
Da PHP sehr praktisch mit Arrays arbeitet, wird die Konfigurationsdatei im Allgemeinen in eine Konfigurationsdatei geschrieben und in Form eines Arrays zurückgegeben Das allgemeine Format ist:config.php<? return array('DB'=>'mysql',......);
C(array('name'=>'mysql','password'=>'root'),'db') 执行后array('db'=>array('name'=>'mysql','password'=>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,'.')){ $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; } }
Beispiel für die R-Methode von ThinkPHP
Das obige ist der detaillierte Inhalt vonVerwendung der C-Methode von thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!