Использование функций для генерации HTML

Обсуждаем разработку фреймворка: дизайн компонентов, API, пакеты
Ответить

Какой вариант вам нравится больше?

Статические методы сгруппированные в класс
23
85%
Функции в namespace
4
15%
 
Всего голосов: 27

Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Использование функций для генерации HTML

Сообщение samdark »

Сейчас мы используем класс-хелпер Html со статическими методами:

Код: Выделить всё

<?php
use Yiisoft/Html/Html;
?>

<?= Html::input($bla, $bla) ?>
Технически можно сделать функциями:

Код: Выделить всё

<?php
use function Yiisoft/Html/input;
?>

<?= input($bla, $bla) ?>
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Использование функций для генерации HTML

Сообщение Loveorigami »

За статический метод.
1. Сразу видно, что это html. Несколько таких классов-функций, и вьюшка уже не так хорошо читается.
2. Не будет конфликтов с такими же (своими) функциями - Html::input(), Form::input()...
3. Блок use будет содержать use Yiisoft/Html/Html; а не весь список функций.
4. Не надо переписывать кучу вьюшек при переходе на yii3 )
myks1992@mail.ru
Сообщения: 147
Зарегистрирован: 2017.11.15, 23:54

Re: Использование функций для генерации HTML

Сообщение myks1992@mail.ru »

Первый вариант всем понятный. Даже новичкам. Но второй вариант эстетичней, короче и проще.
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: Использование функций для генерации HTML

Сообщение BrusSENS »

Статичные методы, имхо удобнее и нагляднее. Лично меня крестах такие адовые именования порой просто угнетают.
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Использование функций для генерации HTML

Сообщение samdark »

chesar, хоть я и приложил руку к emmet, который тогда звался Zen Coding, но считаю что в этом случае он неуместен. Одно дело набирать аббревиатуру и разворачивать её в теги и совсем другое — читать это в не развёрнутом виде.
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Использование функций для генерации HTML

Сообщение chesar »

samdark писал(а): 2019.07.24, 16:13 chesar, хоть я и приложил руку к emmet, который тогда звался Zen Coding, но считаю что в этом случае он неуместен. Одно дело набирать аббревиатуру и разворачивать её в теги и совсем другое — читать это в не развёрнутом виде.
Ну если там многоуровневая менюшка глубиной 6 элементов по 10 подпунктов в каждом в одну строку, то это не очень.
Но мне нравится, что мне дают выбор:

Код: Выделить всё

Html::el('a', 'link content', ['href' => '/foo', 'id'=>'bar', 'class' => 'foo-bar link ', 'data-attributes' => [...])
Html::el('a#bar.foo-bar.link[href=/foo]', 'link content', ['data-attributes' => [...]]) ?>
Ответить