関数での require_once の使用に関する詳細な説明。推奨されるエレガントな構成ファイルの定義方法_PHP チュートリアル。
背景
プロジェクトでは、多くの人が構成ファイルで配列を使用して、レベル構成 level.config.php などのさまざまな構成項目を構成することを好みます。
'1'=>'初心者'、
'2'=>'高度な'、
);
require_once CONFIG_PATH.'level.config.php';
If(!isset($g_levelConfig[$level])){
false を返す;
}その他{
return $g_levelConfig[$level];
}
}
それで、これの何が問題なのでしょうか?まず次のコードの出力を見てください。level.config.php は上記の構成ファイルです
$level = intval($level);
require_once 'level.config.php';
If(!isset($g_levelConfig[$level])){
false を返す;
}その他{
return $g_levelConfig[$level];
}
}
var_dump(getNameByLeval(1));
var_dump(getNameByLeval(2));
1. 初めて getNameByLeval(1) を実行すると、以前は level.config.php 設定ファイルがインクルードされていなかったため、今回は level.config.php ファイルがインクルードされてコンパイルされます。 $g_levelConfig 変数があります。すべての機能で
2. getNameByLeval(1) が 2 回目に実行されるとき、level.config.php 設定ファイルは以前に含まれており、今回は含まれていないため、$g_levelConfig 変数は存在せず、当然 false を返します。 解決策
1. グローバルな包含と関数への参照に作用します
コードをコピーします
$level = intval($level);
If(!isset($g_levelConfig[$level])){
false を返す;
}その他{
return $g_levelConfig[$level];
}
}
var_dump(getNameByLeval(1));
var_dump(getNameByLeval(2)); この場合、 getNameByLeval 関数を使用するかどうかに関係なく、level.config.php 設定ファイルを含める必要があり、少し不経済です。
2. 関数に含めて適用する
コードをコピーします
コードは次のとおりです:
false を返す;
}その他{
return $g_levelConfig[$level];
}
}
var_dump(getNameByLeval(1));
var_dump(getNameByLeval(2));
これもとても乱雑で美しい感じがします
3. 設定ファイルは静的クラスを使用します
コードをコピーします
コードは次のとおりです:
クラスレベルConfig{
パブリック静的 $level = array(
'1'=>'初心者',
'2'=>'上級',
}
ご使用にあたって
$level = intval($level);
require_once 'level.config.php';
If(!isset(levelConfig::$level[$level])){
false を返す;
}その他{
return levelConfig::$level[$level];
}
}
)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

最近、多くの Win10 システム ユーザーがユーザー プロファイルを変更したいと思っていますが、その方法がわかりません。この記事では、Win10 システムでユーザー プロファイルを設定する方法を説明します。 Win10 でユーザー プロファイルを設定する方法 1. まず、「Win+I」キーを押して設定インターフェイスを開き、クリックして「システム」設定に入ります。 2. 次に、開いたインターフェースで、左側の「バージョン情報」をクリックし、「システムの詳細設定」を見つけてクリックします。 3. 次に、ポップアップ ウィンドウで「」オプション バーに切り替え、下の「ユーザー構成」をクリックします。

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

C++ 関数のデフォルト パラメーターの利点には、呼び出しの簡素化、可読性の向上、エラーの回避などがあります。欠点は、柔軟性が限られていることと、名前の制限があることです。可変引数パラメーターの利点には、無制限の柔軟性と動的バインディングが含まれます。欠点としては、複雑さの増大、暗黙的な型変換、デバッグの難しさなどが挙げられます。

C++ で参照型を返す関数の利点は次のとおりです。 パフォーマンスの向上: 参照による受け渡しによりオブジェクトのコピーが回避され、メモリと時間が節約されます。直接変更: 呼び出し元は、返された参照オブジェクトを再割り当てせずに直接変更できます。コードの簡素化: 参照渡しによりコードが簡素化され、追加の代入操作は必要ありません。

カスタム PHP 関数と定義済み関数の違いは次のとおりです。 スコープ: カスタム関数はその定義のスコープに限定されますが、事前定義関数はスクリプト全体からアクセスできます。定義方法: カスタム関数は function キーワードを使用して定義されますが、事前定義関数は PHP カーネルによって定義されます。パラメータの受け渡し: カスタム関数はパラメータを受け取りますが、事前定義された関数はパラメータを必要としない場合があります。拡張性: カスタム関数は必要に応じて作成できますが、事前定義された関数は組み込みで変更できません。
