
f4rt~
08.09.2017
18:44:27
лисков все дела

Like
08.09.2017
18:44:33
Ну проблема в том
Что в сервисе может быть много методов
И они могут быть большими

Google

Like
08.09.2017
18:44:48
Вряд ли кто-то будет переписывать целый сервис
Можно конечно переписать 1-2 метода, а остальное делегатором
Типа, вызывать методы оригинального(который изначально) сервиса
Но не видел чтобы такое делали

Alex
08.09.2017
18:45:22
что то я потерял нить разговора

f4rt~
08.09.2017
18:46:00
все зависит от того что делает твой сервис

Like
08.09.2017
18:46:10
В общем, лишнем не будет
Оставлю с контрактами
Я ж не говнокодер

f4rt~
08.09.2017
18:46:22
любой сервис это дерьмо
которое с 90% вероятностью
будет инжектится по всему проекту
и что бы соблюсти coupling/cohesion

Google

f4rt~
08.09.2017
18:46:43
и SRP

Like
08.09.2017
18:46:52
Ну я крч разбиваю на сервисы, типа: пользователи, статьи, новости и т.п и валю это все в контейнер

f4rt~
08.09.2017
18:46:52
их нужно изначально норм декомпозировать

Like
08.09.2017
18:47:02
+ для каждого есть сервис провайдер

f4rt~
08.09.2017
18:47:16
а то по большому счету похуй как ты его называешь если это good object

Like
08.09.2017
18:47:25
это не god object
в нем есть только репозиторий и он отвечает за то, что он моежт
например, сервис картинок: в этом случае у меня сервис тупо делегатор (не совсем, я не помню как называется паттерн, мост что ли..)
Крч, я создаю еще 2 класса: для работы с базой и для работы с файловой системой (SRP, все дела)
И сервис просто прячет под капот все это
Ибо оно должно работать вместе
Мол, загрузка картинки - она и в базу должна попасть, и в фс

Varyen
08.09.2017
18:49:02
короче. на самом деле мне было бы достаточно определить ссылка у меня или обычная переменная, самое близкое что нашел - https://stackoverflow.com/questions/3148125/php-check-if-object-array-is-a-reference

f4rt~
08.09.2017
18:49:11
это может быть и стратегия
хз

Varyen
08.09.2017
18:49:15
но это как-то через жопу и не факт что мне подойдет

f4rt~
08.09.2017
18:49:15
спать охота

Like
08.09.2017
18:49:22
Но вот с юзерами мне это на*** не нужно
Да, я буду юзать другие сервисы, те же картинки например
Но это будет в private
И я __debugInfo изменяю
)

Google

f4rt~
08.09.2017
18:49:36

Like
08.09.2017
18:49:53

f4rt~
08.09.2017
18:49:54
просто прими факт

Like
08.09.2017
18:50:07
Какой именно?
Ты уже не один озвучил
А понял кажись
Хотя, можно и по другому
Объект ведь можно к массиву привести
Но это извращение

Alex
08.09.2017
18:51:55
генерикииии
дайте мне генерикиии

Like
08.09.2017
18:52:57
template <T>
void function(T *t) {
// а дальше что?
}

Alex
08.09.2017
18:53:38
минуточку
откуда тут ен пышный код?)

Like
08.09.2017
18:54:06
Ну в пыхе же нема дженериков

Varyen
08.09.2017
18:54:11
тебе нужны дженерики
я задолбаюсь это переделывать, на уровне где все может поломаттся массив со ссылками на строки. И я эти строки, например, обрезаю до сотни символов, сериализую. а вот после этого они мне нужны в нормальном виде :(
и в том же объекте

Alex
08.09.2017
18:54:50

Like
08.09.2017
18:54:56
Хех

Google

Vadim
08.09.2017
18:55:20

Alex
08.09.2017
18:55:35
работают

Like
08.09.2017
18:55:37

Alex
08.09.2017
18:55:44
пока не могут определится со спекой

Like
08.09.2017
18:55:50
В пхп не статическая типизация

Alex
08.09.2017
18:56:06
это не для статической типизации даже толком
для коллекции незаменимая вещь

Like
08.09.2017
18:56:18
Зачем в пхп это епт?
Ты можешь принимать что угодно

Admin
ERROR: S client not available

Like
08.09.2017
18:56:27
Дженерики юзаются, если ты не знаешь какой будет тип
function name($arg);

Alex
08.09.2017
18:56:33
для иде

Like
08.09.2017
18:56:35
Передавай сюда что угодно
Хоть колбек

Alex
08.09.2017
18:56:43
например, а ларе есть коллекции

Varyen
08.09.2017
18:56:43
короч. $a = 123; $b = [&$a]; Есть способ точно выяснить, $b[0] - ссылка или нет? :)

Alex
08.09.2017
18:56:47
как ты узнаешь что за тип внутри?

Like
08.09.2017
18:56:47
Главное, чтобы функция смогла обработать это

Google

Like
08.09.2017
18:56:59
Если тебе дали объект, то ты не можешь обращаться как с массивом
Так шо, в пхп это нахер не нужно

Alex
08.09.2017
18:57:41
Collection<User>
и красота
и сразу монять что вернет коллекция

Like
08.09.2017
18:58:02
new Collection($anything)
И красота
Ты путаешь понятия

f4rt~
08.09.2017
18:58:23
дурашка

Like
08.09.2017
18:58:25
Бля крч
Я сам запутался

Alex
08.09.2017
18:58:44
ахаха)

Like
08.09.2017
18:59:07
Смотри, у тебя есть дженерики
Ты передаешь ему туда объект, а функция может работать с массивом
Нужно делать доп проверку что это
Так же и в пхп
Ну и с instance of аналогично

Alex
08.09.2017
18:59:32
коллекции не должны иметь разных типов внутри
это говнокод