同じ関数は PHP では使用できないことがわかっています。関数を二重に定義した場合、プログラム実行時にエラーが発生します。
そして、いくつかの一般的に使用されるカスタム関数を抽出し、それらを Include ファイルに配置し、次に他のファイルに配置します。 Include または require を通じてこれらの関数を呼び出すことができます。次に例を示します。 php
// ファイル名 test1.inc.phpfunction fun1(){
// fun1 を実行します
}
function fun2()
{
// fun2
}
?>
<ファイル名 test2.inc.php
require(
"test1.inc.php");
function fun1()
{ // do any fun1}
function fun3()
{
// any fun3
}
?>
// ファイル名
test.php
//
には他のファイルを含める必要がある場合があります
require("test1. inc.php"); require("test2.inc.php");// テストを行います
?>
fun1< は
test1.inc.php と test2.inc.php 🎜>この関数で同時に定義されています、これら 2 つの関数が同じ関数を実装していることはわかっていますが、関数が特定の "パッケージに含まれているかどうかはわかりません、または明確に知りたくないです" (INCLUDE) は で定義されています。もう 1 つの問題は、パッケージを 2 回インクルードできないことですが、ここであまり時間をかけたくありません。上の例では、test.php を実行すると、多くのエラーが生成されます。 C 言語では、この問題を解決するために、事前定義関数 が提供されています。
#
ifndef __fun1__#define __fun1__
// 何でもする
#
endif
PHP
はそのようなものを提供しませんPHP の柔軟性を利用して、C 言語の予約を実装できます。 >同じ関数、次のとおりです。例は次のとおりです。 php
// ファイル名 test1.inc.phpif ( !
isset
(____fun1_def____) )
{ ____fun1_def____ = true; function fun1()
{
// fun1 を実行します
}
}
if ( !
isset
(____fun2_def____) )
{ ____fun2_def____ = true; function fun2()
{
// fun2 を実行します
}
}
?>
// ファイル名 test2.inc.php
require("test1.inc.php"); 🎜>if ( !
isset
(____fun1_def____) )
{
____fun1_def____ = true;
function fun1() { // fun1 を実行します
}
}
if ( !
isset
(____fun3_def____) )
{
____fun3_def____ = true;
function fun3() { // 任意の処理を実行しますfun3
}
}
?>
// ファイル名
test.php
//
他のファイルを含める必要がある場合があります
require("test1.inc.php");require("test2.inc.php") ;// do any test
?>
これで、パッケージを複数回インクルードしたり、関数を複数回定義したりするときに発生する可能性のあるエラーを恐れることはなくなりました。これによってもたらされる直接的な利点は、プログラムの保守が容易になることです。