関数の繰り返し宣言を避けるための PHP の解決策 jincoo (RUTED.COM のクローラー) PHP では同じ関数名を使用して関数を 2 回定義できないことはわかっています。その場合、プログラムの実行時にエラーが発生します。 よく使用されるいくつかのカスタム関数を抽出し、それらを Include ファイルに置きます。その後、他のファイルは、Include または require を通じてこれらの関数を呼び出すことができます。例を次に示します。 // ファイル名 test1.inc.php
function fun1()
{
// fun1 を実行します
}
function fun2()
{
// fun2 を実行します
}
?>
// ファイル名 test2.inc.php
require("test1 .inc.php");
function fun1()
{
// fun1 を実行します
}
function fun3()
{
// fun3 を実行します
}
?>
// ファイル名 test.php
//次のことが必要になる場合があります他のファイルを含める
require("test1.inc.php");
require("test2.inc.php");
// test1.inc.php と test2 で任意のテストを実行します
?> 関数 fun1 も定義されていますこれら 2 つの関数の機能がまったく同じであることはわかっていますが、ある関数が特定の「パッケージ」 (INCLUDE) に含まれているのか、別の「パッケージ」に含まれているのかがわかりません。問題は、パッケージを 2 回インクルードできないことですが、ここでの確認にあまり時間をかけたくありません。上記の例では、test.php を実行すると多くのエラーが生成されます。 C 言語では、この問題を解決するために、事前定義された関数が提供されています。 #ifndef __fun1__
#define __fun1__
// 何でもします
#endif PHP にはそのようなメカニズムはありませんが、PHP の柔軟性を利用して実装することができます。 C 言語で関数をスケジュールする場合の例を次に示します。