@prophp7

Страница 1058 из 1387
Sergey
07.05.2018
09:34:57
и да, ты когда говоришь "вот они добавили" то стоит вспомнить что это был компромис что бы уменьшить нарушения обратной совместимости.

я не говорил что множественное наследование плохо, это говорит человек с олимпа в одежде бомжа
человек с олимпа говорит про то что трейты это даже рядом не имеет отношения к наследованию и не нужны они

если я конечно долистал нужные сообщения. А че ты завелся я не знаю. Хотя я помню наши с тобой дискуссии

Google
Maksim
07.05.2018
09:36:04
Evgeniy
07.05.2018
09:36:10
Sergey
07.05.2018
09:36:56
точнее не вопрос а спор

я тоже хочу

Evgeniy
07.05.2018
09:38:32
точнее не вопрос а спор
я не спорю я написал что раз уже начали костылять(трейты уже есть), то можно было бы сделать множественное наследование с синтаксисосом как у трейтов и многие костыли были бы не нужны

Sergey
07.05.2018
09:38:44
@KuvshinovEE важное отличие того что хочет @arturpanteleev (если я правильно понял) - возможность декларировать требуемое поведение со стороны клиенсткого кода а не пихать все в класс.

Артур Евгеньевич
07.05.2018
09:39:19
не я ниче не хочу, т.к не знаю что еще существует, просто говорю что нравистя использовать интерфейсы, но я не исключаю что есть что то поинтереснее

Evgeniy
07.05.2018
09:39:24
где вы увидели про пихать все в класс?

Sergey
07.05.2018
09:39:40
где вы увидели про пихать все в класс?
ну типа наследование так и работает) любое, одиночное, множественное

Evgeniy
07.05.2018
09:39:54
оно работает так как его напишет человек

Google
Sergey
07.05.2018
09:40:00
оно декларируется в компайлтайме и клиентский код может только конкретный инстанс инстанцировать. Но когда у нему приходит уже что-то он ничего не может

Evgeniy
07.05.2018
09:40:15
и отсутствие наследования (любого ) или его наличие не меняет качество кода

Sergey
07.05.2018
09:40:55
не я ниче не хочу, т.к не знаю что еще существует, просто говорю что нравистя использовать интерфейсы, но я не исключаю что есть что то поинтереснее
ну я говорю - почитай про миксины. В частности у тебя будет что-то типа "интерфейсов" и клиентский код в рантайме сможет требуемое поведение назначать твоим объектам

но только я не про то говно которое в Yii или там в laravel на кастылях и __call

f4rt~
07.05.2018
09:41:21
phpstorm умеет в @mixin ;)

Sergey
07.05.2018
09:42:00
и отсутствие наследования (любого ) или его наличие не меняет качество кода
важно КТО декларирует требуемое поведение. И поведение это декларировать должен клиентский код

ну то есть.... у тебя есть 3 клиента и один класс содержащий модель данных. У тебя есть 2 опции: наследование (любого вида) - работает только в компайл тайме, все варианты поведения декларируются в классе, типа "я могу быть тем-то, тем-то и тем-то". Причем множественное у тебя наследование или нет - у класса так или иначе не может пересекаться поведение между интерфейсами иначе получишь конфликт и сложности. миксины - работает в рантайме, клиентский код сам назначает требуемое поведение на модель данных. модель данных в этом плане выходит относительно тупой и следит только за своими инвариантами, а все остальное довешивается рядом.

Evgeniy
07.05.2018
09:43:57
единственное что код класса должен это реализовывать методы интерфейса и абстрактные методы, остальное сильно зависит от ситуации

нет серебрянных пуль

Sergey
07.05.2018
09:44:11
единственное что код класса должен это реализовывать методы интерфейса и абстрактные методы, остальное сильно зависит от ситуации
почитай мое сообщение внимательно что бы понять суть различий подходов. И да, подходов 2 как минимум потому что серебрянных пуль нет.

Evgeniy
07.05.2018
09:44:34
миксинов нет в пхп

чтобы навешивать это как в scala например

Sergey
07.05.2018
09:45:16
миксинов нет в пхп
1. их можно сделать поскольку php разрешает тебе декларировать классы новые в рантайме 2. какая разница чего нет в php? PHP настолько ущербный язык на сегодняшний день и там столького нет что в пору просто выкидывать его

Evgeniy
07.05.2018
09:45:27
поэтому единственный вариант это агрегация

Sergey
07.05.2018
09:45:32
чтобы навешивать это как в scala например
ну вот трейты в скала хороший пример того о чем я

поэтому единственный вариант это агрегация
либо у тебя недостает воображения)

Evgeniy
07.05.2018
09:45:44
я понимаю о чем ты

либо у тебя недостает воображения)
наследование ты написал что в компайл тайме и потом не навесить, остается агрегация и композиция через которые можно что то навесить

Sergey
07.05.2018
09:47:44
наследование ты написал что в компайл тайме и потом не навесить, остается агрегация и композиция через которые можно что то навесить
ну то есть как.... в целом миксины в php и будут за счет агрегации работать. С генерируемыми в рантайме прокси классами.

Google
Evgeniy
07.05.2018
09:47:51
либо помоги тогда с воображением на примере php не других яп

могут быть не только прокси

Sergey
07.05.2018
09:48:22
ну и хороший пример - C#

Evgeniy
07.05.2018
09:48:23
но костыли один фиг

Sergey
07.05.2018
09:48:37
там тоже технически организация миксинов может быть только за счет кодогенерации

Evgeniy
07.05.2018
09:48:37
это я о пыхе а не о шарпе

Sergey
07.05.2018
09:48:57
однако люди замутили эдакий "препроцессор" что бы мутить их любимый Data-Context-Interaction

что бы миксины (роли) назначать объектам

Evgeniy
07.05.2018
09:49:54
такое и в пыхе можно сделать но только не настолько люди наркоманы

только я там выше просто привел пример что имея подобный синтаксис можно было бы жить без многих вещей (типо интерфейсов, наследования и тд и добиваться того же самого с абстрактными методами) но там каждый увидел то что захотел увидеть. (причем этого там совсем и могло не быть)

Sergey
07.05.2018
09:58:29
это ты сейчас о webpack ?
нет, я ж про шарпы

Evgeniy
07.05.2018
09:58:43
к сожалению на шарпе не довелось работать

хотя мб и к счастью)

Sergey
07.05.2018
09:58:58
такое и в пыхе можно сделать но только не настолько люди наркоманы
ну значит у этих людей нет чувства прекрасного, есть тот же preprocess.io

есть yay

ииии люди продолжаю ныт "хочу короткие лямбды"

Sergey
07.05.2018
10:00:18
use function \{ array_map as map, array_keys as keys, array_values as values }; $headers = map(($key, $value) => "$key: $value", keys($headers), values($headers));

Google
Sergey
07.05.2018
10:00:37
красота же..

Evgeniy
07.05.2018
10:00:45
хахха

ну красота понятие субьективное, мне лично не кажется там все красивым

Sergey
07.05.2018
10:06:23
ну красота понятие субьективное, мне лично не кажется там все красивым
ну я прагматик, и красоту расцениваю возможностью явно выражать мысли минимально необходимым (что бы не приводило к двусмысленности) количеством символов.

Evgeniy
07.05.2018
10:07:05
а я вижу что это требует изучения нового синтаксиса

и меньше символов не всегда значит лучше

потому что если придерживаться слов о количестве символов map можно сократить до m например, values до v keys до k и тд, лучше это или хуже не сделает но сократит символы

Admin
ERROR: S client not available

Sergey
07.05.2018
10:10:03
это не сложно, тем более когда такой же синтаксис используется еще в куче языков

или он явный

Evgeniy
07.05.2018
10:10:24
я согласен что надо стараться чтобы не было лишнего булшита в коде

и чтобы он был короткий и понятный

Evgeniy
07.05.2018
10:10:42
но это все субьективно

Nurik
07.05.2018
10:26:17
А там, чё вотчер тоже на php написан ?

Evgeniy
07.05.2018
10:27:09
я уже ванговал скоро будет вакханалия как в js )

Sergey
07.05.2018
10:35:49
А там, чё вотчер тоже на php написан ?
да, это не самое сложное

я уже ванговал скоро будет вакханалия как в js )
да хоть бы чуть чуть той вакханалии что бы заставить шевилиться php

Google
Sergey
07.05.2018
10:36:28
а кто-нибудь знает почему opcache не поставляется по умолчанию в пакетах с php?

Dmitry
07.05.2018
10:37:53
много что не поставляется :) зависит от мантейнера дистрибутива как бы :)

Nurik
07.05.2018
10:44:49
да, это не самое сложное
Ну так он там есть ? Я просто не вкурсе. Или ноду ставить нужно ?

В доке про это ничего.

А понял. Они так и используют там nodejs как вотчер.

Имхо, мертворожденный проект.

За typescrypt microsoft, за babel facebook стоит. Вряд ли кому-то будет интересно делать такие штуки для php. В мире php это вообще не интересно никому.

Sergey
07.05.2018
11:20:40
Nurik
07.05.2018
11:29:13
вот интересно с чем это связано.... врядли с тем что язык и так совершенство)
Ну тут как раз таки в случае js, признают что js не идеален и пишут свои траспиляторы, потому что могут, и потому что денег много. Ну и потому что JSу нет аналогов на фронте. То что это опосредственно на nodejs и бэкенд разработку влияет, это просто как плюшки. В случае бэкенда и php — тут просто легче пересесть на другой ЯП. Как бы такое ИМХО.

js вездесущ. php — нет.

Anatoliy
07.05.2018
11:30:45
всем привет. ребятки, кто тестами занимается ? есть вопрос относительно того, как правильно тестировать некоторые классы. К примеру есть класс с валидацией. По сути это юнит, однако валидация может лесть в базу, скажем проверить на существование. Он сюда вопрос как правильно пойдоти к тестированию ?

Nurik
07.05.2018
11:32:00
вездессущ?)
Твое слово мне больше понравилось))

Bohdan
07.05.2018
11:33:09
Твое слово мне больше понравилось))
помнишь анекдот про собаку и баобаб?) вот собака - это джаваскрипт

Anatoliy
07.05.2018
11:33:50
моки?
Возможно. Я знаю про моки, я бы хотел получить некий совет или наставление как правильно подойти. Тоесть класс валидации инжектит репозиторий, и для того, чтобы отловить его воедение, просто мокаем, возвращает нужные данные и пологаемся на его работу ?

Nurik
07.05.2018
11:34:56
помнишь анекдот про собаку и баобаб?) вот собака - это джаваскрипт
Тогда баобаб это разработчики, пишушие, на нём ?

)

Bohdan
07.05.2018
11:35:22
Тогда баобаб это разработчики, пишушие, на нём ?
нет, баобаб - это сферы применения) знакомый писал драйвер для термопринтера на жс)

Nurik
07.05.2018
11:43:42

Страница 1058 из 1387