взять какое-нибудь «приложение», бложек например. и если не связываться ни с какими шаблонизаторами и прочими mvc, и даже классами, а писать все плоским кодом... как бы вы посоветовали структуировать php файл? да, все хочу написать в одном php файле :)
уже перерыл половину интернетов на тему шаблонизаторов в php, но все близко не то, как мне кажется.
будет ЧПУ: try_files $uri $uri/ /default.php?$args&test=$uri; и далее парсим $_GET['test']
<?php
foreach (explode('/', $_GET['test']) as $test) {
if (strlen($test) > 0) $path[] = $test;
}
?>
теперь пытаюсь придумать, как отделить php от html (в плане логики).
<?php
if (sizeof($path) > 0) {
if (implode('/', $path) == 'about') {
// делаем что-нибудь для страницы /about
$action = 'about';
}
elseif (implode('/', $path) == 'about/feedback') {
// делаем что-нибудь для страницы /about/feedback
// обрабатываем POST запрос с формы
if ($_SERVER['REQUEST_METHOD'] == 'POST') { }
$action = 'feedback';
}
else {
$action = 'notfound';
}
}
else {
$action = 'default';
}
?>
<?php if ($_SERVER['REQUEST_METHOD'] == 'GET'): ?>
<?php
switch ($action):
case 'about':
?>
<html></html> <!-- страничка /about -->
<?php
case 'feedback':
?>
<html></html> <!-- страничка /about/feedback с формой -->
<?php
case 'default':
default:
?>
<html></html> <!-- главная страница -->
<?php endswitch; ?>
<?php endif; ?>
чтобы при этом каждую страницу (кусочек от $path) можно было обработать в отдельности, так же в отдельности обработать POST и GET для нее, а потом так же вывести с любым шаблоном. :|
глядя на этот код, вы можете что-нибудь посоветовать, как его ээ... «архитектурно» улучшить? :)
чтобы все было в одном php файле, но все было красиво и четко разделено: страницы по отдельности с ЧПУ, для каждой страницы обработка GET и POST, для каждой страницы свой шаблон.
и как посоветуете быть, например, с комментариями, - чтобы не мешать php с sql-запросами и html код.
вытащить из базы все данные в массивы, а потом эти же массивы в html через <?php foreach (): ?> вывести? более простого решения нет?