2

オーバーフロー コミュニティ初投稿!

現在、私はプロジェクトに取り組んでおり、動的挿入ページに PHP を使用し始めました。

この時点で私は...

switch ($route) {
  case 'step1':
        include('./views/enrolment/mainstream/_step1.php');
        include('./views/partials/_footer.php') ;
        break;
    case 'step2':
        include('./views/enrolment/mainstream/_step2.php');
        include('./views/partials/_footer.php') ;
        break;
    case 'step3':
        include('./views/enrolment/mainstream/_step3.php');
        include('./views/partials/_footer.php');
        break;
    case 'step4':
        include('./views/enrolment/mainstream/_step4.php');
        include('./views/partials/_footer.php');
        break;
    case 'step5':
        include('./views/enrolment/mainstream/_step5.php');
        include('./views/partials/_footer.php');
        break;
    case 'step6':
        include('./views/enrolment/mainstream/_step6.php');
        include('./views/partials/_footer.php');
        break;
    case 'step7':
        include('./views/enrolment/mainstream/_step7.php');
        include('./views/partials/_footer.php');
        break;


これは恐ろしく長いように見え、for ループを使用する方がうまくいくことを意味しますが、私は PHP の初心者であり、このアイデアをどのように実装するかについて完全に確信が持てません。

for ループを使用しない他の提案も大歓迎です!

みんなありがとう!

4

8 に答える 8

6

そのファイルが存在するかどうかは、php の file_exists() fn を使用して確認できます。

if(file_exists('./views/enrolment/mainstream/_'.$routes.'.php')) {
    include('./views/enrolment/mainstream/_'.$routes.'.php');
    include('./views/partials/_footer.php') ;
}

必要に応じて else 部分を処理します。

于 2013-11-06T13:50:22.803 に答える
0

$routeファイルをロードする変数として使用しないのはなぜですか?

include("./views/enrolment/mainstream/_{$route}.php");
include('./views/partials/_footer.php') ;
于 2013-11-06T13:51:52.337 に答える
0

@praveenが言ったように:

include('./views/enrolment/mainstream/_'.$routes.'.php');

ただし、複製しています:

include('./views/partials/_footer.php');

クエリごとに、それをページに静的に含めないのはなぜですか?

于 2013-11-06T13:52:08.790 に答える
0

$route値を確認することをお勧めします

if (in_array($route, range(1, 7))){
    include('./views/enrolment/mainstream/_'.$route.'.php');
    include('./views/partials/_footer.php') ;
} else {
    //...error code
}
于 2013-11-06T13:57:29.003 に答える
0

たぶん、この簡単な解決策はあなたにとって良いでしょう:

include('./views/enrolment/mainstream/_'.$route.'.php');
include('./views/partials/_footer.php');
于 2013-11-06T13:51:19.447 に答える
0

コードを大幅に削減するには:

include('./views/enrolment/mainstream/_step' . $route . '.php');
include('./views/partials/_footer.php');
于 2013-11-06T13:51:35.767 に答える
-1

どうですか

$i = 1;
$steps = 7;

for($i = 1; $i <= $steps; $i++) {
  if($route === 'step' . $i) {
     include('./views/enrolment/mainstream/_step' . $i . '.php');
     include('./views/partials/_footer.php');
     break;
  }
}
于 2013-11-06T13:51:51.447 に答える
-1
for($i = 0; $i < 7; $i++){
    if($route == "step" . $i){
        include('./views/enrolment/mainstream/_step' .$i . '.php');
        include('./views/partials/_footer.php');
        break;
    }
}
于 2013-11-06T13:52:10.143 に答える