Vitalii
у меня просто yii головного мозга((
Maksim (Ellrion)
Я логику отображения вообще в презентеры люблю выносить. (Декораторы для моделей с логикой отображения)
Maksim (Ellrion)
Типо вот так https://gist.github.com/Ellrion/02ca1afe1ea45f1177a47260dac5621d
Vitalii
только хотел просить
Vitalii
спасибо, почитаю
Dmitry
у меня просто yii головного мозга((
там они по сути тоже не особо нужны ;)
Dmitry
по сути это костыли
Vitalii
там они по сути тоже не особо нужны ;)
тогда модель засырается тем, что нее вообще не касается
Vitalii
ну вот в примере с тегом img
Vitalii
дергалось бы $model->getImageAsTag() или какой то подобный бред
Maksim (Ellrion)
тогда модель засырается тем, что нее вообще не касается
Можешь посмотреть в гисте сразу коммент.
Maksim (Ellrion)
Какраз про вынос этого из модели
Dmitry
дергалось бы $model->getImageAsTag() или какой то подобный бред
это не из-за yii. Точнее из-за того что она много позволяет. Вот тебе пример yii где не надо этого http://developer.uz/blog/layered-structure-for-yii-app/
Dmitry
там как раз про презентеры, про которые Макс говорил
Vitalii
Можешь посмотреть в гисте сразу коммент.
топ тема, спасибо но все равно, смущает, что модель по итогу имеет что то, что за вид отвечает то что у тебя можно же по сути и просто в трейт вынести и вклеить в модель
Maksim (Ellrion)
топ тема, спасибо но все равно, смущает, что модель по итогу имеет что то, что за вид отвечает то что у тебя можно же по сути и просто в трейт вынести и вклеить в модель
Модель имеет разве что ссылку на объект который умеет её представлять. Тоесть в модели только сахар для new SomePresenter($model)
Vitalii
аргумент спасибо за паттерн)
Сергей
Подскажите в чем трабла может быть? В регистрации ничего не менял, но в веб норм рег. а по апи нет почему то
Anonymous
скажите, где лучше форматировать дату в моделе или во вьюхе? Вроде помнится в моделе как то можно хорошо это сделать
Anonymous
Все, нашел.
Denis
С презентерами код красивее будет выглядеть. И удобнее для работы. Надо будет взять на вооружение.
Denis
Только посмотри в конфиг в каком часовом поясе ты хранишь данные. По умолчанию utc
Anton
Только посмотри в конфиг в каком часовом поясе ты хранишь данные. По умолчанию utc
foreach(\DateTimeZone::listIdentifiers() as $locate) { $dt =new \DateTime("now",new \DateTimeZone($locate)); //var_dump($dtz->getTransitions()); echo $locate .'-'. $dt->format('O') ; echo "\n"; }
Anonymous
foreach(\DateTimeZone::listIdentifiers() as $locate) { $dt =new \DateTime("now",new \DateTimeZone($locate)); //var_dump($dtz->getTransitions()); echo $locate .'-'. $dt->format('O') ; echo "\n"; }
Да, спасибо. Нашел рабочий пример $timezone_offsets = array(); foreach(timezone_identifiers_list() as $timezone_identifier) { $date_time_zone = new DateTimeZone($timezone_identifier); $date_time = new DateTime('now', $date_time_zone); $timezone_offsets[$timezone_identifier] = $date_time_zone->getOffset($date_time); } print_r($timezone_offsets); В массив кладется сразу смещение в секундах. Я так понимаю, что я его кладу в БД. а когда извлекаю для конкретного пользователя, то делаю ->addSeconds($user_offset). И получается, что пользователь видит свое время (отправки собщения, оплаты платежа и так далее) Это правильный путь?
Anonymous
Anonymous
А в какую папку вы кладете свои собственные классы-хелперы? App\Helpers Или в корне Helpers создаете? по феншую)
Anton
Не люблю папку названием Helpers ))) там обычно всегда скрывается много говна ))
Anton
спать хочется ) буквы удваиваются )
Anonymous
хитрый какос -_-
Anonymous
спать хочется ) буквы удваиваются )
удваивалась бы так производительность и зарплата :)
Anton
Да счастливые бы люди были, но растет только пенсионный возраст и бензин 😂
Anonymous
ага 😆
FUTURICO
так радуйтесь, дольше сможете на ларавеле кодить
Anonymous
ща бы какнибудь начать хотябы
FUTURICO
лол
Anonymous
кек
Anonymous
Anonymous
А в чем проблема?
только завтра начну изучать
Anonymous
Зачем?)
Anonymous
Зачем?)
хочу писать сайты для благотварительности
Anonymous
.за деньги?
Anton
Это уже черный Юмор что ли ? Сайт для благотварительности за деньги
Anton
)
Anonymous
.за деньги?
за спасибо
Сергей
подскажите можно ли валидировать поле через Validation::make() на отсутсвие пробелов? Чтобы провалидировать логин
Vitalii
Есть nlayer извращенцы? Вы dto создаете отдельно для каждой модели? Или в модели есть map? Или как это все...
Сергей
Для валидации логина можно правило alpha или alpha_dash
а то по названию я не нашел бы явно)
Сергей
а кто может подсказать почему юзер при регистрации заносится только с полями почты, name и пароль? хотя сделал так protected function create(array $data) { $user = User::create([ 'name' => $data['name'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'location' => $data['location'], 'language_id' => $data['language_id'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); $user->roles()->attach(2); return $user; }
Maksim (Ellrion)
а то по названию я не нашел бы явно)
Потому что доку надо прочитать полностью. Это займет не так много времени. Ты ее и не запомнишь но какой то индекс уже построится. И ты сможешь знать что и как там искать. Тебе вот стоило просто открыть список правил валидации сейчас и альфа правила там самые первые.
Сергей
fillable
🤦‍♂️ бл* вот я ….
Сергей
забавно ты создаешь объект через создание массива :) на прямую нельзя? тогда бы и проблем с fillable не было
я делал по тому как было, до этого не доводилось переписывать регистрацию
Dmitry
Что ты имеешь ввиду?
то что ты сначала создаешь массив, а только потом объект. А можно $user = new User(); $user->name = $name; ...
Denis
Дмитрий, так кода больше выходит.
Denis
Через массив удобнее.
Dmitry
Дмитрий, так кода больше выходит.
чем отличается ? 'name' => $data['name'], от $user->name = $data['name'];
Denis
в данном случае практически ничем
Maksim (Ellrion)
@oldy777 прав. Тут или всю дата бросать в крейт и настраивать филлабл корректно или писать через присвоение полей объекта
Vitalii
запариться по nlayer
Dmitry
запариться по nlayer
а что это такое?
Anonymous
а что это такое?
чтото секретное и сложное
Dmitry
чтото секретное и сложное
и судя по всему там водятся извращенцы )))
Anonymous
я вот лару ставлю через мобилку и кидаю на пк
Vitalii
@ellrion бро, кинь еще раз линк на свой экзампл презентера, потерял(
Vitalii
Нашел, не нужно)
Maksim (Ellrion)
Ок)
Maksim (Ellrion)
запариться по nlayer
Я вот тоже не понял какие жто dto для каждой модели.
Vitalii
вот вчера ссылку кидал кто то http://developer.uz/blog/layered-structure-for-yii-app/ там как бы для yii но и laravel упоминается хочу попробовать сделать приложение с таким типом архитектуры там есть dto data transfer objects что бы не гонять eloquent по всему проекту, так вот мой вопрос по поводу один dto на все модели или каждой модели п персональному dto там же крутить разные мапы, презентеры, то что ты скидывал, при таком подходе нужно будет в dto крутить