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

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

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

Статические методы сгруппированные в класс
17
81%
Функции в namespace
4
19%
 
Всего голосов: 21

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

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

Сообщение samdark » 2019.07.24, 01:42

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

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

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

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

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

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

<?= input($bla, $bla) ?>

Loveorigami
Сообщения: 965
Зарегистрирован: 2014.08.27, 21:54

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

Сообщение Loveorigami » 2019.07.24, 09:43

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

Аватара пользователя
myks1992@mail.ru
Сообщения: 117
Зарегистрирован: 2017.11.15, 23:54

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

Сообщение myks1992@mail.ru » 2019.07.24, 12:03

Первый вариант всем понятный. Даже новичкам. Но второй вариант эстетичней, короче и проще.

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

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

Сообщение BrusSENS » 2019.07.24, 12:57

Статичные методы, имхо удобнее и нагляднее. Лично меня крестах такие адовые именования порой просто угнетают.
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x


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

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

Сообщение samdark » 2019.07.24, 16:13

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

chesar
Сообщения: 512
Зарегистрирован: 2013.04.10, 17:49

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

Сообщение chesar » 2019.07.25, 13:44

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' => [...]]) ?>

Ответить