ホームページ  >  記事  >  バックエンド開発  >  PHP インクルードパラメータに関連する問題を解決する

PHP インクルードパラメータに関連する問題を解決する

WBOY
WBOYオリジナル
2016-06-13 13:20:242175ブラウズ

パラメーターを使用した PHP インクルードの問題を解決します

php のインクルードは外部 php ファイルをロードできますが、そのパラメータはファイル名であるため、パラメータを取ることはできません。

PHP では、include によってロードされるファイルにパラメーターが必要な場合、方法は 1 つしかありません。つまり、パラメーターはフルパスの URL アドレスです。

例:

include "http://localhost/aaa.php?id=1" //修正
include "
aaa .php?id=1"; //Error

実際、include の本来の意味は、外部ファイルを現在のファイルにロードすることだけであり、コードの説明はありません。それ。したがって、パラメータを取得することは無意味に思えます。
たとえば、次のコード (1.php):
$a="123";
include "aaa.php";

aaa.php を使用して受信したい変数 $a の値を取得するには、 aaa.php 内で直接呼び出すだけです。 たとえば、 aaa.php のコードは次のとおりです:
echo $a;

1.php を次のように実行すると、$a の値 123

が出力されます。

ただし、問題がある場合は、パラメーターを取得するために include が必要であるため、ロードされたファイルでローダー ファイル内の変数を使用するほど単純ではありません。

現在の要件は次のとおりです:
異なるパラメータに従って、同じファイルに異なるコードセグメントを含めたいと考えています。

上記の要件に基づいて、私の解決策は次のとおりです。
ロードされたファイル (aaa.php と想定) にコードを関数として書き込みます。例:
function abc($x)
{
$returnValue;
switch($x)
{
ケース 1:
$returnValue="Apple";break;
ケース 2:
="バナナ";break;
ケース 3:
$returnValue="カランボラ";break;
}
}

次に、メイン ファイル (1.php とする) に次のように記述します。

include "aaa.php";
echo abc(1); //出力: Apple
echo abc(2); //出力: Banana
echo abc(3); //出力: スターフルーツ

実際、上記の方法によれば、最終的には、前述したようにメインファイル内の変数を直接使用するのと大きな違いはありませんが、これを行う利点は、変数が何であるかに関係なく、メインファイルの変更点は、aaa.php のこの関数を変更する必要はなく、他のファイルにインクルードすることで引き続き使用できます。

このように、メインファイル内で変数を直接使用する場合と、メインファイル内で関数を作成して呼び出す場合の違いは、すでに明らかです。

原文: Qianxue Network http://www.ayinsky.com

以下は、私自身の使用中に遭遇したいくつかの経験の要約です: readfile("http://XXXX/example.php?name=value") を使用して、パラメーター付きのファイルを渡します~~

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