ホームページ  >  記事  >  php教程  >  関数の繰り返し宣言を避けるための PHP ソリューション

関数の繰り返し宣言を避けるための PHP ソリューション

WBOY
WBOYオリジナル
2016-06-21 09:01:52890ブラウズ

同じ関数は 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.phptest2.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
?>

これで、パッケージを複数回インクルードしたり、関数を複数回定義したりするときに発生する可能性のあるエラーを恐れることはなくなりました。これによってもたらされる直接的な利点は、プログラムの保守が容易になることです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。