Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ob_start();
include 'main_page.html.php';
$content = ob_get_clean();
$include 'layout.html.php';
<?= new View('header') ?>
<h1><?php echo htmlspecialchars($something); ?></h1><h1>{{ something|e }}</h1>Разворачивать классы и объекты в памяти имеет смысл в таких задачах, когда инстанс приложения будет жить хоть какое-то продолжительное время. А когда скрипт запускается чтобы за доли секунды отдать ресурс, то разветвленные концептуальные классы совсем ни к чему.
Кто сказал, что для наследования и переопределения, обязательно нужны объекты? Вполне подойдет иерархическая файловая структура или иерархические запросы к базе.
Если Вас беспокоит, что код выглядит не круто, а даже совсем просто, но поставленную задачу все ровно выполняет, то стоит пересмотреть свои представления о программировании.
Общественное помешательство на шаблонизаторах мне не вполне понятно, ведь большинство скриптовых веб-языков сами являются шаблонизаторами.
Сейчас многие руководствуются принципом “скачать из интернета и прикрутить”, но даже если времени мало, то хоть просмотрите скачанный код, возможно, это натолкнет на мысль, как то же самое сделать более просто.
Невозможно и не нужно отделять данные, логику и представление на одном слое абстракции.
Нет идеального кода, нужно довольствоваться какой-то степенью универсальности.
Автор имел ввиду что пихать ООП везде — зло, требуется всегда соблюдать баланс между читаемость здравым смыслом и целями.
Ну правильная функционалка по накладным расходам всегда опеережает ООП из-за того что ей не требуется время на созданих своих сущностей.
но ИМХО при простой иерархии проще читаемо и поддерживаему всетаки функциональное программирование
<?php foreach ($users as $user): ?>
<?=$user['name'];?>
<?php endforeach; ?>
{foreach from=$users item=«user»}<?foreach($users as $user){?> <?=
Using short tags should be avoided when developing applications or libraries that are meant for redistribution, or deployment on PHP servers which are not under your control, because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.на www.php.net/manual/en/language.basic-syntax.phpmode.php
<html>
<head><title>{% block title %}Site title{% endblock %}</title></head>
<body>
<div id="content">
{% block content %}{% endblock %}
</div>
<div id="sidebar">
{% block sidebar %}
Our friends:
...
{% endblock %}
</div>
</body>
</html>
{% extends base.tpl %}
{% block title %}Articles - {{ parent() }}{% endblock %}
{% block content %}{{ content }}{% endblock %}
{% block sidebar %}
Popular articles:
...
{% endblock %}
{% extends articles.tpl %}
{% block title %}{{ article.title }} - {{ parent() }}{% endblock %}
{% block content %}
<h1>{{ article.title }}</h1>
<div>{{ article.body }}</div>
{% block sidebar %}
See also:
...
{{ parent() }}
{% endblock %}3. Неуместное и не адекватное использования инструментов встречается чаще, чем плохие инструменты.
У каждого языка и технологии есть круг задач, для которых он подходит как нельзя лучше, а для других задач наверняка есть свои адекватные средства решения.
<? if ($a): ?>
<h1 class='normal'><?= $a ?></h1>
<? else: ?>
<div class='error'>Empty!!!</div>
<? endif ?>
Общественное помешательство на шаблонизаторах мне не вполне понятно, ведь большинство скриптовых веб-языков сами являются шаблонизаторами.Это же очевидно. Это последствия разделения труда. Шаблонизаторы проще в использовании для непрограммистов (верстальщиков).
Эти бесчисленные парадигмы, концепции, инструменты и фреймворки