私のURLに4つのパラメータがあります。私は与えられたURLからurlパラメータを取得します。すべてのパラメータで、私はディレクトリへのパスを変更し、別の画像を取得しています。このような複数のURLパラメータをPHPで取得する方法
私のサンプルURLの外観:
www.sample.com?cat=section1&language=de&prices=pl
コードが機能していますが、それはspaghetiコードです。
DRYが少ないという解決策はありますか?複数のURLパラメータを取得するにはどうすればよいですか?
if(isset($_GET["cat"])) {
switch ($cat) {
case 'section1':
if(isset($_GET["language"])) {
$language = htmlspecialchars($_GET["language"]);
if($language == "de") {
if(isset($_GET["prices"])) {
$prices = htmlspecialchars($_GET["prices"]);
if($prices == "pl"){
$files=glob('pages/section1/dp/low/*.jpg');
}
else {
$files=glob('pages/section1/dn/low/*.jpg');
}
}
else {
$files=glob('pages/section1/dn/low/*.jpg');
}
}
elseif ($language == "en") {
if(isset($_GET["prices"])) {
$prices = htmlspecialchars($_GET["prices"]);
if($prices == "pl"){
$files=glob('pages/section1/ep/low/*.jpg');
}
else {
$files=glob('pages/section1/en/low/*.jpg');
}
}
else {
$files=glob('pages/section1/en/low/*.jpg');
}
}
elseif ($language == "cz") {
if(isset($_GET["prices"])) {
$prices = htmlspecialchars($_GET["prices"]);
if($prices == "pl"){
$files=glob('pages/section1/cp/low/*.jpg');
}
else {
$files=glob('pages/section1/cn/low/*.jpg');
}
}
else {
$files=glob('pages/section1/cn/low/*.jpg');
}
}
else {
$files=glob('pages/section1/cn/low/*.jpg');
}
}
else {
$files=glob('pages/section1/dn/low/*.jpg');
}
break;
case 'section2':
//the same like in section 1, path is .../section2/...
break;
case section3:
//the same like in section 1, path is .../section3/...
break;
default:
//the same like in section 1
break;
}
else {
//the same like in section 1
}
あなただけのチェックを行っているとelse文場合、多くを削除/短縮できたパスd =ドイツ語、E =英語、C =チェコ、P =価格、N =
__All__このコードは、 '$ files = glob( 'pathto ......');'と書き直すことができます。 'pathto'がURLパラメータにどのように依存するのかを記述する必要があります。 –
が自分のコードへのパスを追加しました。 –