@phpgeeks

Страница 5679 из 8430
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
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
function name($arg);
что бы инстансоф не писать

дурашка

Like
08.09.2017
18:58:25
Collection<User>
Это не дженерики

Бля крч

Я сам запутался

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

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

Нужно делать доп проверку что это

Так же и в пхп

Ну и с instance of аналогично

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

это говнокод

Страница 5679 из 8430