преобразовать кусок повторного PHP в функцию? - PullRequest
0 голосов
/ 11 декабря 2011

У меня мало опыта программирования, поэтому переход от базового php к использованию классов, функций и т. Д. Немного утомителен.

Я создаю небольшой php-скрипт, который определяет, какую «тему» ​​выбрал пользователь через форму, и из этого выбора он загружает некоторые конкретные файлы.Я создал рабочий сценарий, но в нем так много повторений, это шутка.

// Add our theme names to variables
$theme1 = "theme1";
$theme2 = "theme2";
$theme3 = "theme3";

// Test to see what Theme the user chose.
// Theme 1
if ($themeChoice==$theme1) 
{
    // Load the theme
    $homepage = file_get_contents('../themes/'.$theme1.'/index.html');
    $mobile_js_main = file_get_contents('../themes/'.$theme1.'/js/main.js');
    $mobile_js_jquery = file_get_contents('../themes/'.$theme1.'/js/jquery.js');
    $mobile_css_easy = file_get_contents('../themes/'.$theme1.'/css/easy.css'); 
    $mobile_images_bg = file_get_contents('../themes/'.$theme1.'/images/bg.png');   
    $mobile_images_footer = file_get_contents('../themes/'.$theme1.'/images/footer.png');   
    $mobile_images_nav = file_get_contents('../themes/'.$theme1.'/images/nav.png'); 

    if ($AddPortfolioPage != '')
    {
        $portfolioPage = file_get_contents('../themes/'.$theme1.'/portfolio.html');
    }

    if ($AddContactPage != '')
    {
        $ContactPage = file_get_contents('../themes/'.$theme1.'/contact.html');
    }

    if ($AddBlankPage != '')
    {
        $blankPage = file_get_contents('../themes/'.$theme1.'/blank.html');
    }           
}

Это повторяется для каждой темы ... что, очевидно, не идеальный способ сделать это.Любая помощь высоко ценится!

1 Ответ

1 голос
/ 11 декабря 2011

Поместите все ваши темы в массив и выполните цикл, чтобы найти выбранную.

$themes = array( "theme1", "theme2", "theme3");

foreach( $themes as $theme)
{
    if( $themeChoice == $theme)
    {
        $homepage = file_get_contents('../themes/'.$theme.'/index.html');
        $mobile_js_main = file_get_contents('../themes/'.$theme.'/js/main.js');
        $mobile_js_jquery = file_get_contents('../themes/'.$theme.'/js/jquery.js');
        $mobile_css_easy = file_get_contents('../themes/'.$theme.'/css/easy.css'); 
        $mobile_images_bg = file_get_contents('../themes/'.$theme.'/images/bg.png');   
        $mobile_images_footer = file_get_contents('../themes/'.$theme.'/images/footer.png');   
        $mobile_images_nav = file_get_contents('../themes/'.$theme.'/images/nav.png'); 

        if ($AddPortfolioPage != '')
        {
            $portfolioPage = file_get_contents('../themes/'.$theme.'/portfolio.html');
        }

       if ($AddContactPage != '')
        {
            $ContactPage = file_get_contents('../themes/'.$theme.'/contact.html');
        }

        if ($AddBlankPage != '')
        {
            $blankPage = file_get_contents('../themes/'.$theme.'/blank.html');
        }           

        break; // Break will exit the loop once the choice is found
    }
}
...