
Антон
29.05.2018
09:06:07
Это как минимум логично.

Nizomiddin
29.05.2018
09:06:41
Здравствуйте ребята у меня такая ошибка при регистрации в чём праблема немогу понять можите подсказать

Антон
29.05.2018
09:06:44
Если что крупнее то отдельные классы, но в конечном все крутится вокруг модели а не контроллеров

Google

Dmitry
29.05.2018
09:06:45


Nik
29.05.2018
09:07:14
Просто разные весовые категории:
Yii - это массовый RAD фреймворк. Там важна простота и скорость. Ради этого можно забить на архитектуру. Он живёт почти вообще без SOLID и прочих штук. И там почти никто не знает про DIC, конструкторы, приватные поля, PSR и шаблонизаторы.
Symfony и Zend - это, наоборот, самые навороченные энтерпрайз-решения для серьёзных проектов, где абсолютно всё сделано по SOLID и прочим принципам и лучшим архитектурным практикам.
Laravel - промежуточный вариант, построенный на компонентах Symfony и своих с добавлением собственных упрощений. Там можно работать как в RAD-режиме с фасадами и CRUD-ами для простых проектов, так и как угодно заморачиваться для сложных.
Поэтому в массовых Yii и Laravel в комплекте идёт простая ActiveRecord, а в специфичных уже какой-либо DataMapper. Но никто не мешает при желании подключить либо Doctrine в Laravel, либо Eloquent или Propel в Symfony.
потому йии девов и считают говнокодерами, и проекты в большинстве своем достаются дико засранные


Dmitriy
29.05.2018
09:07:23
логика долна быть в сервисах. не зачем ее пихать в модели

Антон
29.05.2018
09:07:25

Dmitry
29.05.2018
09:07:36

Daniel
29.05.2018
09:07:40

Антон
29.05.2018
09:07:44

Alexander
29.05.2018
09:07:47
В ошибке же написано в чем проблема

Dmitriy
29.05.2018
09:07:50

Антон
29.05.2018
09:08:07

Daniel
29.05.2018
09:08:16

Dmitriy
29.05.2018
09:08:22

Антон
29.05.2018
09:08:27
Сервис это часть модели может? Доменный сервис

Google

Vitaliy
29.05.2018
09:08:49
ребята, как создать связь категорий с товаром, тоесть есть у меня hasMany всех категорий и каждая из них может иметь товары как оформить такую связь?

Антон
29.05.2018
09:08:52

Dmitriy
29.05.2018
09:08:58

Антон
29.05.2018
09:09:05
в книге по DDD норм так описывают ограниченные контексты, доменные службы

Daniel
29.05.2018
09:09:54
https://laravel.com/docs/5.6/container и чуть выше провайдеры


Alexander
29.05.2018
09:10:10
Просто разные весовые категории:
Yii - это массовый RAD фреймворк. Там важна простота и скорость. Ради этого можно забить на архитектуру. Он живёт почти вообще без SOLID и прочих штук. И там почти никто не знает про DIC, конструкторы, приватные поля, PSR и шаблонизаторы.
Symfony и Zend - это, наоборот, самые навороченные энтерпрайз-решения для серьёзных проектов, где абсолютно всё сделано по SOLID и прочим принципам и лучшим архитектурным практикам.
Laravel - промежуточный вариант, построенный на компонентах Symfony и своих с добавлением собственных упрощений. Там можно работать как в RAD-режиме с фасадами и CRUD-ами для простых проектов, так и как угодно заморачиваться для сложных.
Поэтому в массовых Yii и Laravel в комплекте идёт простая ActiveRecord, а в специфичных уже какой-либо DataMapper. Но никто не мешает при желании подключить либо Doctrine в Laravel, либо Eloquent или Propel в Symfony.
спасибо за ответ

Dmitriy
29.05.2018
09:10:13

Антон
29.05.2018
09:10:34

Dmitriy
29.05.2018
09:11:06

Антон
29.05.2018
09:11:38

Daniel
29.05.2018
09:11:40

Антон
29.05.2018
09:12:00

f4rt~
29.05.2018
09:12:05
id не AI :D

Dmitriy
29.05.2018
09:12:10

Dmitry
29.05.2018
09:12:15

Антон
29.05.2018
09:12:21
сервисы это не только модели, лол. Сервис контейнер не только для моделей


Dmitriy
29.05.2018
09:12:52
Просто разные весовые категории:
Yii - это массовый RAD фреймворк. Там важна простота и скорость. Ради этого можно забить на архитектуру. Он живёт почти вообще без SOLID и прочих штук. И там почти никто не знает про DIC, конструкторы, приватные поля, PSR и шаблонизаторы.
Symfony и Zend - это, наоборот, самые навороченные энтерпрайз-решения для серьёзных проектов, где абсолютно всё сделано по SOLID и прочим принципам и лучшим архитектурным практикам.
Laravel - промежуточный вариант, построенный на компонентах Symfony и своих с добавлением собственных упрощений. Там можно работать как в RAD-режиме с фасадами и CRUD-ами для простых проектов, так и как угодно заморачиваться для сложных.
Поэтому в массовых Yii и Laravel в комплекте идёт простая ActiveRecord, а в специфичных уже какой-либо DataMapper. Но никто не мешает при желании подключить либо Doctrine в Laravel, либо Eloquent или Propel в Symfony.
забавно читать человека который вроде пытался делать на yii ddd

Google

Антон
29.05.2018
09:12:53
вернее в сущностях

f4rt~
29.05.2018
09:13:08

Антон
29.05.2018
09:13:19
а доменная модель это сущности и объекты-значения + доменные службы

Major
29.05.2018
09:13:20

f4rt~
29.05.2018
09:13:21
а что есть логика, а что есть поведение?)

Vitaliy
29.05.2018
09:13:27
почитать доку
такс, ну я в доке по связях шас,
у меня есть запись $this->descendants(); в методе связи будущей. результатом есть hasMany, как дальше не пойму

F01134H
29.05.2018
09:13:32

Антон
29.05.2018
09:13:47
а что есть логика приложения?

F01134H
29.05.2018
09:14:06
Без понятия, я знаю что такое бизнес логика

Daniel
29.05.2018
09:14:14
вот это спор) да вчем угодно можно писать логику, хоть в контроллере)) лишь бы не стыдно было и заказчик работу принял :D
я выбрал сервисы как место для логики и пока мой выбор меня не подвёл ни разу

F01134H
29.05.2018
09:14:16
а логика модели и логика приложение - что то новое, интересно

Антон
29.05.2018
09:14:38
если говорить о том что говорит фаулер, вернон и эрик то доменная модель вообще не должна ничего знать о том что в приложении, и какой там фреймворк используется. Это в идеале

Антон
29.05.2018
09:14:44
в реальности хз как к такому прийти

Dmitriy
29.05.2018
09:15:00

Антон
29.05.2018
09:15:09
PSR?
причем он здесь

Dmitriy
29.05.2018
09:15:28

Alexander
29.05.2018
09:15:31
хотелось бы какие-то примеры этой реальности

Dmitriy
29.05.2018
09:15:40

Alexander
29.05.2018
09:15:42
а то все торчат про solid а по факту дай бог чтобы dry

Google

Антон
29.05.2018
09:16:22
https://github.com/dddinphp/last-wishes/tree/master/src/Lw вот тут более менее постарались всю бизнес логику от приложения и инфраструктуры отделить
обмазались портами и адаптерами
ты вообще должен отстраниться от хранилищ, AR, DM в DDD
но это реально жесть. в 90% проектов DDD не нужен

Dmitriy
29.05.2018
09:18:32

Admin
ERROR: S client not available

Дилшод
29.05.2018
09:18:44
привет всем

Антон
29.05.2018
09:19:01

Дилшод
29.05.2018
09:19:10
как можно очистить текст от тегов

Антон
29.05.2018
09:19:17
я щас пытаюсь на симфони + doctrine что то в стиле DDD сделать
ппц, напряги

Дилшод
29.05.2018
09:19:24
например <script>var test='sdfef'</script>
полности очистилось бы
сейчас strip_tags и htmlspecialchars
очистить только <script> </script>
это var test='sdfef оставляет

Антон
29.05.2018
09:21:56
https://github.com/dddinphp/last-wishes/blob/47cf7c5950734d8d90cd405432d5d20b2c897df3/src/Lw/Infrastructure/Service/HttpUserAdapter.php
и там интерфейс адаптера

Google

Антон
29.05.2018
09:22:11
много интересного в этом проекте

\/
29.05.2018
09:23:41

Vitaliy
29.05.2018
09:34:51
Ребят, как обявить связь
Все уровни подкатегорий и их товары
Хоть что это за отношение получается?

Dmitry
29.05.2018
09:37:30
ар не ар. все равно бизнес логика там не должна быть
Принцип один и крайне прост: каждый должен заниматься своим делом.
Логика сущности - в сущности. Логика проверки значения - в объекте значения. Логика взаимодействия сущностей для какого-то юзкейса приложения - в объекте юзкейса. Логика загрузки файлов - в загрузчике файлов. Логика отправки уведомлений - в объекте-рассыльщике. Логика генерации токенов - в генераторе токенов.
А использовать AR только как набор полей вроде ассоциативного массива со связями и методом save() - это уже другой анемичный подход.


Антон
29.05.2018
09:54:10
http://samolisov.blogspot.ru/2012/10/anemic-domain-model.html
Анемичная модель предметной области устроена иначе. Классы объектов предметной области лишены поведения. Они имеют только конструкторы и методы доступа к данным. Единственное, что они реализуют - это отношения с другими объектами.

Adel
29.05.2018
10:06:03

Daniel
29.05.2018
10:06:19

Антон
29.05.2018
10:07:47
если не упарываться во все эти дебри, то вот советую https://streamacon.com/video/laracon-us-2017/day-2-jeffrey-way
полезный видос с ларакона. рассказывает как упрощать и структурировать код
только в россии через проксю, походу РКН забанил сайт

Vitaliy
29.05.2018
10:08:31

Антон
29.05.2018
10:14:39
вообще советую новичкам посмотреть jeffrey way видосы, от глупых ошибок поможет избавиться. Заодно половина детских вопросов отпадет

AluV
29.05.2018
10:40:27
jeffrey на Youtube обитает ?
А, это Laracasts ?