Если вы хотите заняться чем-то новым, я предлагаю поэкспериментировать с возможностью закрытия PHP. Из примера вы увидите, как легко вы можете полностью удалить HTML из вашего кода. Я собираюсь разработать библиотеку вокруг этого (формы и т. Д.), Но основная концепция очень проста. Начните с этой функции (не волнуйтесь, как она работает сейчас):
function h($code , $id="", $class=""){
if ($id !== "") $id = " id = \"$id\"" ;
$class = ($class !== "")? " class =\"$class\"":"";
$open = "<$code$id$class>";
$cls = trim(substr($code,0,strpos($code.' ',' ')));
$close = "</$cls>";
return function ($inner = "") use ($open, $close){
return "\n$open\n$inner\n$close\n";};
}
Теперь этот код:
//Create two simple tags (Why not an entire page layout!)
$tags = array('ul','li');
foreach ($tags as $element)
$$element = h( $element);
//Create the span tag with its class...
$span=h("span", "", "both");
//Creating an optional div with an id
$div = h("div", "test");
//Constant linebreak
$br = "<br />";
//more optional tags
$bold = h('strong');
$italic = h('i');
// Теперь вот ваш «закрытый» HTML!
echo $ul(
$li("belk".$br.$span("Upper & Lower Level").$br."(478) 477-2355").
$li("JCPenney".$br.$span("Upper & Lower Level").$br."(478) 477-2355").
$li("Macys".$br.$span("Upper & Lower Level").$br."(478) 477-2355").
$li("Sears".$br.$span("Upper & Lower Level").$br."(478) 477-2355")
);
Прежде всего, вы заметили, что нет закрывающих тегов! Именно потому, что функция закрытия действует как булочка и закрывает ваш бургер двумя половинками! Обратите внимание, как функция закрытия
ч ()
возвращает функцию! Закрытие делает снимок среды (в данном случае открывающий и закрывающий теги с их атрибутами), и при повторном вызове он запоминает, чтобы поместить их в нужное место.
Кто сказал, что мы можем остановиться там! Вы можете вложить весь HTML, который вы хотите, и все получается правильно! С этой техникой вам никогда не придется испачкать ваши взгляды необработанным HTML. Ничто не мешает вам создавать функции, которые получают массивы и отображают HTML непосредственно вокруг каждого элемента.