Size: a a a

2020 August 31

RT

Roman Tsurkanu in Yii Framework 3
в psr такое часто используют
источник

RT

Roman Tsurkanu in Yii Framework 3
например в реквесте
источник

RT

Roman Tsurkanu in Yii Framework 3
public function getAttribute($name, $default = null);
источник

RT

Roman Tsurkanu in Yii Framework 3
хотя тут геттер, а там нет
источник

NO

Nex Otaku in Yii Framework 3
Сразу появляется неоднозначность, что будет если не числовой параметр? Исключение? Дефолтное значение? Пока не залезешь внутрь кода, это непонятно. Придётся держать в голове.
источник

А

Алексей R in Yii Framework 3
Nex Otaku
Сразу появляется неоднозначность, что будет если не числовой параметр? Исключение? Дефолтное значение? Пока не залезешь внутрь кода, это непонятно. Придётся держать в голове.
Как вообще писать код и не держать то, чем пользуешься, в голове?
источник

NO

Nex Otaku in Yii Framework 3
Код должен быть максимально простым и дубовым, а уж код хелперов, который по всему проекту используется, и подавно.
источник

NO

Nex Otaku in Yii Framework 3
Алексей R
Как вообще писать код и не держать то, чем пользуешься, в голове?
На эту тему у @samdark есть отличная лекция по абстракциям )
источник

NO

Nex Otaku in Yii Framework 3
Если коротко, чем меньше деталей приходится держать в голове, тем быстрее пишется код, и допускаешь меньше ошибок.
источник

NO

Nex Otaku in Yii Framework 3
То что этот параметр опциональный, кстати, ещё больше усложняет метод. То он есть, то его нет, если его не вписали - это было намеренно или просто забыли? Не-не-не, я через это уже проходил )
источник

А

Алексей R in Yii Framework 3
Есть вариант вторым аргументом bool указывать дроп исключения, по умолчанию возвращать null
Ни к чему не обязывает и можно избежать проверки на нулл, если нужно исключение
источник

NO

Nex Otaku in Yii Framework 3
Чтобы читалось хорошо и наглядно, можно написать по такому принципу, разделить все эти нюансы на отдельные методы в стиле fluent interface.

$page = $helper->from($request)->get('page')->asInteger()->withDefault(0)

Но тогда это уже в тот самый RequestHelper превращается )
источник

NO

Nex Otaku in Yii Framework 3
Я категорически против усложнения хелперов )
источник

NO

Nex Otaku in Yii Framework 3
1 аргумент в 100 раз проще чем 2 аргумента
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
В дифф зайди
Одно замечание пофиксил. Остальные норм и так.
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
Сюрприз от StringHelper :D
Это норм английский же :)
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
Кстати лучше здесь с подчёркиваниями пример дать, так как это важный нюанс. Подчёркивания это самый распространённый вариант именования таблиц.
Добавил. Спасибо.
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
да, там скорее camelToSnake и snakeToCamel
Нет потому что ещё и форма  конвертируется.
источник

NO

Nex Otaku in Yii Framework 3
тогда более наглядный пример нужен
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
В NumericHelper мне не хватает методов toInteger и isDigits.
Первая сконвертирует значение в int либо null, если это возможно, вторая вернёт true или false, в зависимости от того, может ли первая сконвертировать в int.
А кастовать в (int) и юзать is_numeric() не лучше чем метод?
источник