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

WBOY
リリース: 2016-07-13 17:22:12
オリジナル
1238 人が閲覧しました

関数の繰り返し宣言を避けるための 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 言語で関数をスケジュールする場合の例を次に示します。


// ファイル名 test1.inc.php
if ( !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
を実行します }
}
?>
// ファイル名のテスト。 php
//他のファイルをインクルードする必要がある場合があります
require("test1.inc.php");
require("test2.inc.php");
// do any test
?>両方とも怖い パッケージを複数回インクルードしたり、関数を複数回定義するとエラーが発生します。これによってもたらされる直接的な利点は、プログラムの保守が容易になることです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532336.html技術記事関数の繰り返し宣言を避けるための PHP の解決策 jincoo (RUTED.COM のクローラー) PHP では同じ関数名を使用して関数を 2 回定義できないことはわかっています。その場合、プログラムの実行時に...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!