PHP I Шаблонизатор своими руками.

8.25K
.
ramzes

допустим.. что будет удобнее дизайнеру, для которого по идее шаблоны и верстаются?

tpl (+/-)

div class="nav-bar">
    <a class="ajax" href="/forum/">Форум</a> <a class="ajax" href="/forum/{$forum.id}/">{$forum.forum_title}</a><span>{$thread.thread_title}</span>
</div>

<div class="forum-list">

    <div class="forum-post">
        <div class="post-author">
            <a class="ajax post-author-name" href="/user/{$thread.user_id}/">{$thread.name}</a>
            <div class="post-author-avatar">
                <img src="{$thread.avatar}" alt="" />
            </div>
            <div class="forum-post-info">{$thread.time}</div>
        </div>
        <div class="post-text">
            <div class="text">{$thread.thread_subject}</div>
            <div class="attachments">
                <foreach>thread.attach->attach</foreach>
                <div>
                    <a target="_blank" class="attachment" href="/forum/file/{$attach.id}/">{$attach.file_name}</a>
                    <span>{$attach.size}</span>
                </div>
                </endforeach>
            </div>
        </div>
        <div class="post-action">
            <span class="view-post-action" onclick="viewAction(this)">&#xe967;</span>
            <div class="post-action-events">{$thread.actions}</div>
        </div>
    </div>

    <foreach>posts->post</foreach>
        <div class="forum-post" id="post-{$post.id}">
            <div class="post-author">
                <a class="ajax post-author-name" href="/user/{$post.user_id}/">{$post.name}</a>
                <div class="post-author-avatar"><img src="{$post.avatar}" alt="" /></div>
                <div class="forum-post-info">{$post.time}</div>
            </div>
            <div class="post-text">
                <div class="text">{$post.post_message}</div>
                <div class="attachments">
                    <foreach>post.attach->attach</foreach>
                    <div>
                        <a target="_blank"  class="attachment" href="/forum/file/{$attach.id}/">{$attach.file_name}</a>
                        <span>{$attach.size}</span>
                    </div>
                       </endforeach>
                </div>
            </div>
            <div class="post-action">
                <span class="view-post-action" onclick="viewAction(this)">&#xe967;</span>
                <div class="post-action-events">{$post.actions}</div>
            </div>
        </div>
    </endforeach>


    {$block:addpost}
</div>
{$paginator}

<script src="/tpl/default/js/_forum.js"></script>
<script>scrollToForm();</script>


или все тот же пхп, слегка очищенный от логики?
.
(\/)____o_O____(\/)

ramzes, ну нативный он для кодеров больше, как мне кажется

.
reaper
# ramzes (02.08.2016 / 16:45)
что будет удобнее дизайнеру, для которого по идее шаблоны и верстаются?
Не распарсил. Нахрена вообще дизайнеру шаблоны? Его задача нарисовать и передать результаты верстальщику. А вот верстальщику, как по мне, должно быть по барабану. В конце-концов, серверный рендеринг в том виде, в каком мы привыкли его видеть, уходит в прошлое. Сейчас моден React, там JSX все дела
.

ну верстальщику, не принципиально

React
телефоны все еще с трудом жуют серьезный js же
.

ramzes, Ну это дело времени Лично я уже забыл, когда в последний раз что-то подобное делал. Сейчас во всех проектах, с которыми я работаю, всё полностью на клиенте рендерится.

.

это дело десятилетий производительность растет пропорционально скорости поедания заряда акб и содержимого кошелька, что в принципе неисправимо)
______________
я вообще телефон как браузер перестал воспринимать.
гиг оперативы 4ядра 1.4ггц, браузер выжирает все заставляя андроид выгружать из памяти все подряд. это ужасно.
фигня, не о том спросить хотел.
всем профит? разгрузить сервер? он вроде не напрягается, а вот клиент будет напрягаться каждый раз, разве это выгодно? ну компам пофиг, а телефоны\планшеты? бюджетники?
как то это наоборот выглядит вредом, а не выгодой.
сервер не пукнет сгенерировав шаблон практически любой сложности, выбить из памяти арбуз можно одной только разметкой, даже без js.
может я что то упустил хитрое?

.

ramzes, Хочешь ты этого, или нет, но всё к этому идёт. Большинство об этом вообще не парится. Больше пока ничего не скажу. Если интересно, можешь сам погуглить на тему изоморфных приложений например.

.

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

.

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

P.S. в шаблоне можно использовать любые средства PHP, в том числе и обычный include, а не предложенный мной $include, разница только в том, какие переменные будут переданы в подключаемый шаблон.

.
Koenig
(\/)____o_O____(\/)

Delphinum, просто инклюд получился как метод
https://github.com/Bashka/bric ... e.php
суть разговора

Всего: 125