Php и HTML в одном файле или отдельные файлы? - PullRequest
0 голосов
/ 06 февраля 2019

Я читал в Интернете, что не стоит помещать HTML и PHP в один файл.Почему это так важно?Если да, то почему и как именно вы можете разделить файлы?

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

в соответствии с вашим вопросом, все дело в дизайне: хороший дизайн предоставляет вам поддерживаемый код и снижает вероятность возникновения ошибок в вашем приложении.Можно практиковать PHP с файлом, закодированным spagetti, но когда вам нужно написать реальное приложение, вам следует рассмотреть возможность использования MVC framework (например, codeIgniter или laravel ) так что вы можете легко получить ваше приложение в форме.

0 голосов
/ 15 февраля 2019

Чтобы ответить на вопрос, как, один из популярных методов - использовать буферизацию и создание шаблонов для вывода.

Например, если вы находитесь в контроллере инфраструктуры MVC, вы бы использовали функцию для выбора шаблона и передачиданные шаблона.

Вы получите запрос в вашем контроллере.Кто-то хочет посетить страницу контактов.Вы будете делать любые проверки, которые вам нужны (например, посмотреть, отправили ли они форму, проверить данные и т. Д.), А затем выбрать шаблон и передать ему все необходимые данные

// Controller
contact($request) {
    if (empty($_POST)) {
        inc('contact-form', ['title' => 'Contact Page'])
    } else {
        inc('contact-thank-you', ['title' => 'Thanks for submitting!']);
    }
}

Вы бы использовали такую ​​функцию, как этаниже, чтобы выбрать шаблон из предустановленного каталога, а затем извлечь переменные.Это делает их доступными для вашего шаблона (НЕ ЭКСТРАКТНО $ _GET или $ _POST)

// Function to load template and output it
// Select a path and any variables
function inc($path, $variables, $print = true) {
    $output = NULL;
    $full_path = __DIR__ . "/views/{$path}.php";

    if (file_exists($full_path)) {
        // Extract variables
        extract($variables);

        // Output Buffer
        ob_start();

        // Include
        include $full_path;

        $output = ob_get_clean();
    }

    if ($print) {
        print $output;
    }

    return $output;
}

// Inside templates/about.php
<main>
    <header>
        <h1>
            <?= $title ?>
        </h1>
    </header>
</main>
0 голосов
/ 06 февраля 2019

Лучший способ разделить код HTML и PHP - использовать шаблон проектирования MVC, в архитектуре MVC применяется метод разделения кода в Model View И Controller.

MVC являетсяархитектурный шаблон, обычно используемый для разработки пользовательских интерфейсов, который делит приложение на три взаимосвязанные части.Это делается для того, чтобы отделить внутреннее представление информации от способов представления и принятия информации от пользователя.Шаблон проектирования MVC разделяет эти основные компоненты, обеспечивая эффективное повторное использование кода и параллельную разработку.

Источник: Википедия

В основном, всекод о базе данных будет в модели, представление в представлении и поведение кода в контроллере.

В представлении вам нужны только данные и отображение их в представлении, а некоторые оператор if.

Существует множество PHP-фреймворков, использующих шаблон проектирования MVC, таких как Codeigniter , Laravel , Symfony и т. Д. Они используют представление шаблона для визуализации представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...