Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
использовать в высоконагруженном проекте PDO я бы не стал, а вот mysqli — без проблем
Чем больше я смотрю на современные средства разработки, тем больше убеждаюсь, что оные — для ленивых.
А самый удивительный парадокс заключается в том, что в сущности разницы по времени разработки никакой.
А то, что изначально написано грамотно, оптимизировать вряд ли потребуется.
Вы, видимо, не сталкивались в своей практике с заказчиками, которые вообще ничего, кроме виртуальных хостингов не признают.
А проектов на виртуальных хостингах — открою Вам глаза — более 80% от общей массы по меньшей мере в рунете.
— Настоящий художник может нарисовать шедевр даже гвоздём на стекле. Всё зависит от уровня мастерства.
[!my.cool.snippet:empty=`пустонафик` &argument=`foobar`!]
{% if !my_cool_snippet(argument='foobar') %}
пустонафик
{% endif %}
{{item-chunk:for=`6`:splitter=`<br />`}}
<div class="item" id="item-[+item-id+]">
<h2>[+item-title+]</h2>
<img src="/images/[+item-id+]/1.jpg" />
<p>[+item-description+]</p>
<div class="galery-wrapper">
<img src="/images/[+item-id+]/1.jpg" />
<img src="/images/[+item-id+]/2.jpg" />
<img src="/images/[+item-id+]/3.jpg" />
<img src="/images/[+item-id+]/4.jpg" />
<img src="/images/[+item-id+]/5.jpg" />
</div>
</div>
{{item &item-id=`1` &item-title=`Крутой проект №1` &item-description=`Наш первый крутой проект`}}
{{item &item-id=`2` &item-title=`Крутой проект №2` &item-description=`Наш второй крутой проект`}}
{{item &item-id=`3` &item-title=`Крутой проект №3` &item-description=`Наш третий крутой проект`}}
{{item &item-id=`4` &item-title=`Крутой проект №4` &item-description=`Наш четвёртый крутой проект`}}
{{item &item-id=`5` &item-title=`Крутой проект №5` &item-description=`Наш пятый крутой проект`}}
{% for work in portfolio %}
<div class="item">
<h2>{{work.title}}</h2>
<img src="{{work.thumb.src}}" />
<p>{{ work.description }}</p>
<div class="galery-w
rapper">
{% for image in work.images %}
<img src="{{image.src}}" alt="{{image.alt}}" />
{% endfor %}
</div>
</div>
{% endfor %}
{!items &chunk=`item`!}
{{item &id=`id_элемента_1` &title=`title_элемента_1` &desc=`desc_элемента_1`}}
{{item &id=`id_элемента_2` &title=`title_элемента_2` &desc=`desc_элемента_2`}}
{{item &id=`id_элемента_3` &title=`title_элемента_3` &desc=`desc_элемента_3`}}
{{item &id=`id_элемента_4` &title=`title_элемента_4` &desc=`desc_элемента_4`}}
{foreach $items as $item}
{include 'item.tpl' item=$item}
{/foreach}
<div class="item" id="item-{$item.id}">
<h2>{$item.title}</h2>
<img src="/images{$item.id}/1.jpg" />
<p>{$item.description}</p>
{if $item.images}
<div class="galery-wrapper">
{foreach $item.images as $image}
<img src="/images/{$item.id}/{$image.id}.jpg" />
{/foreach}
</div>
{/if}
</div>
{# work.html.twig #}
{% macro small_preview(work) %}
<div class="portfolio-item portfolio-item--small">
<h2>{{work.title}}</h2>
<img src="{{work.thumb.src}}" />
<p>{{ work.description }}</p>
<div class="galery-w
rapper">
{% for image in work.images %}
<img src="{{image.src}}" alt="{{image.alt}}" />
{% endfor %}
</div>
</div>
{% endmarco %}
{# portfolio.html.twig #}
{% import 'work.html.twig' as work %}
{% for item in portfolio %}
{{ work.small_preview(item) }}
{% endfor %}
Если включить фантазию, можно извернуться и вообще сделать своеобразную NoSQL-CMS.
QuadBraces — по мотивам парсера MODx