Сергей
не будет ифов лишних по всем экшенам, и в будущем легко отрефакторить
Спасибо, буду использовать. Вообще вот это думаю внедрить в проект: https://github.com/samdark/yii2-cookbook/blob/master/book/structure-global-functions.md
Anonymous
да, это туда и ляжет
Anonymous
ничего страшного в глобальных функциях нету, ускоряет разработку, если проект закрытый (не open source) - стоит однозначно использовать
Anonymous
что-то вроде того
Anonymous
еще плюс - автокомплит для кастомных компонентов, если ты не хочешь переопределять Yii класс (чтобы описывать компоненты через phpdoc), но хочешь автокомплит своих компонентов - кидаешь их в глобалы
VладислаV
какой то страшный набор костылей, удобный только их автору
Anonymous
что страшного?
Павел
А зачем это?
Павел
Может проще автокомплит IDE настроить и не париться?
Anonymous
Anonymous
как настроить автокомплит, если IDE не знает о кастомных компонентах?
Anonymous
А зачем это?
Anonymous
Может проще автокомплит IDE настроить и не париться?
Сергей
Если без фанатизма, то глобальные функцию в закрытом проекте - мне кажется очень удобны
Anonymous
два варианта - переопределить Yii класс, и в phpdoc описывать компоненты, или использовать шорткаты
Anonymous
все верно
Anonymous
Если без фанатизма, то глобальные функцию в закрытом проекте - мне кажется очень удобны
Anonymous
большое кол-во кода - обращение к компонентам. Вот как выглядит автокомплиит, который не всегда даже вывлодит Yii класс первым
Anonymous
а чем это не хелперы?
Anonymous
а кто мешает хелперы просто юзать?
Юрий
хотя функции там банальные
Anonymous
аргументов от Павла и Владислава не услышал - возвращаюсь к работе
Stepan
Ну например тем что не явно где они лежат и идеально будет работать автокомплит
Сергей
if (!Yii::$app->user->can('projectParamsEdit', ['project' => $project])) { throw new ForbiddenHttpException(); } vs use ххх/xxx/AccessHelper; AccessHelper::can('projectParamsEdit', ['project' => $project]); vs can('projectParamsEdit', ['project' => $project]);
Сергей
Тут важно, чтобы это были реально глобальные в рамках проекта функции :)
Anonymous
третий самый короткий. я повторюсь - если проект не open source - использовать глобалы можно
Stepan
а какая разница короткий или нет если за тебя это напишет среда?
Сергей
По времени 3й вариант самый быстрый, как не крути
Anonymous
на вьюхах запаривает енкодить пользоавтельские данные, строить линки и т.п.
Сергей
+ читаемость кода выше
Stepan
читаемость кода ИМХО во втором варианте выше. + инфа сразу где лежит эта логика
Anonymous
вся вьюха в Html::encode, Html::..... <?=e($text)?> и все
Anonymous
запомнить 10 функций на проект - не беда, понять по вызову назначение функции - не проблема, открыть global.php и посмотретть - не трудно, написать phpdoc к функциям - тоже не проблема, вплоть до @inheritdoc
Сергей
Вопрос крайности - это реально 5-10-15 функций на проект не больше. Лежат в одном файле.
VладислаV
это называется антипаттерн
VладислаV
если ты делаешь это в проекте, где >1 разработчика - руки тебе оторвать надо
Anonymous
чушь несешь
Сергей
какой минус может быть на практике? не пойму (
Anonymous
аргументов у пацанов нету, какой-то практикой не подкрепляют, говорят умные слова тока
Юрий
С фасадами и саппорт пакетом
Anonymous
давай умничать, синглтон - антипаттерн. Yii - синглтон
VладислаV
синглтон это синглтон
Yura
С каких пор синглтон антипаттерн?)
VладислаV
а оборачивать какие то отдельные функции в глобальные функции - антипаттерн
Anonymous
скорость разработки повышается, функции запоминаются легко, отрефакторить - не проблема
Anonymous
никакой практической информации от тебя не слышу
Anonymous
тока учишь что тут плохо что хорошо
Сергей
а оборачивать какие то отдельные функции в глобальные функции - антипаттерн
Да, антипаттерн, но вопрос-то в другом. Какие минусы на практике, если на огромный проект 10 функций глобальных в одном месте лежащих?
VладислаV
1) каким образом скорость повышается
VладислаV
2) не проблема запомнить только для тебя
Anonymous
бляя
Anonymous
а для чего они по твоему?
Anonymous
я тебе как практиющуй с глобальными функциями говорю - это збс
Anonymous
работаю не один над проектом. все тока ЗА
Anonymous
дибилов у нас нету, которые не могут запомнить 10 функций
Anonymous
ты не пробовал - а что то тут доказываешь, какие-то антипаттерны, трудно запомнить, блабла
VладислаV
если у тебя не работает автокомплит в твоей ide, значит ты не умеешь ей пользоваться
Anonymous
у меня кастомный компонент, Yii::$app->someComponent
Nikita
Привет всем, подскажите чем открыть в runtime/mail .eml если нет оутлука
Mihail
куча мелочевки ускоряется пачкой 1-2 символьных глобальных функций
Александр
если у тебя не работает автокомплит в твоей ide, значит ты не умеешь ей пользоваться
пропустил начало дискуссии - почему не работает автокомплит?
Anonymous
ты тут не сочиняй, пользоваться я умею PhpStorm
Anonymous
если у тебя не работает автокомплит в твоей ide, значит ты не умеешь ей пользоваться
Stepan
не знаю как у тебя, у меня на непосредственное написание кода может 10% времени разработки уходит
Stepan
нахрен экономить на спичках я не знаю.
Сергей
пропустил начало дискуссии - почему не работает автокомплит?
https://github.com/samdark/yii2-cookbook/blob/master/book/structure-global-functions.md Добро или зло? :)
Mihail
Привет всем, подскажите чем открыть в runtime/mail .eml если нет оутлука
куча онлайновых гляделок есть, например https://www.encryptomatic.com/viewer/
Nikita
ок, спасибо
Mihail
но вообще eml это почти плейнтекст
Mihail
так что прямо из ide и открывать, помня о том что некоторые символы погут попячиться
Nikita
афигенно)
Anonymous
тока там кодировка не стандартная, как я помню, 7 байтовая вроде
Anonymous
текста могут побиться, попробуй онлайн тулзы
Mihail
угу, плюс переносы. Но если надо быстро посмотреть конкретный кусок в сурсах - то почему бы и не плейнтекст
Алимжан
Вообще для емаилов советую что-то типа https://mailtrap.io