thinkphpのCメソッドの使用

不言
リリース: 2023-03-30 20:46:02
オリジナル
3116 人が閲覧しました

この記事では主に thinkphp の c メソッドの使用方法を紹介します。これは、必要な友人に参照してもらうために共有します。その C () メソッドはフレームワーク全体で非常に一般的に使用されます。C メソッドの実装は非常に簡単ですが、その機能は非常に強力です。次に、C() メソッドの詳細な説明と使用例を示します。

1. C メソッドの役割

a. ユーザーの設定をロードして設定し、C 関数内の静的変数 $_config に保存します。 b. ユーザーの設定を読み取ります ($_congig から読み取ります)

2. 要件分析:

1. 変数を設定します

#1. array

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 を指していることがわかりますが、プロジェクトの開発は 1 人で完了するものではなく、作成習慣は人それぞれ異なる可能性があるため、この状況を避けるために、統一された添字は小文字に変換されます (もちろん大文字も可能です)。構成ファイル内の配列は最大でも 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 中国語 Web サイトに注意してください。

関連する推奨事項:

ThinkPHP R メソッドの例

以上がthinkphpのCメソッドの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート