@oop_ru

Страница 9 из 785
Aleh
03.12.2016
22:11:46
Artur
03.12.2016
22:12:19
может венгерскую нотацию юзать?
сегодня и на js и yна php есть статичная/строгая типизация

Aleh
03.12.2016
22:12:34
@arturpanteleev залей на гист, а то ваще без шансов посмотреть

Google
Артур Евгеньевич
03.12.2016
22:12:52
завтра тогда на битбаке залью как причешу

или на гитлаб

Aleh
03.12.2016
22:13:04
сегодня и на js и yна php есть статичная/строгая типизация
тайп хинты на класс проперти как-то в пхп все не завозят(

Артур Евгеньевич
03.12.2016
22:13:14
пока нет смысла выгружать так ка кправится быстро

D'
03.12.2016
22:13:23
завтра тогда на битбаке залью как причешу
почему у тебя api.php что-то с <pre> возвращает?

Артур Евгеньевич
03.12.2016
22:13:35
потому что там json закомичен

Aleh
03.12.2016
22:13:36
пока нет смысла выгружать так ка кправится быстро
поставь себе в шторм плагин для гистов

Артур Евгеньевич
03.12.2016
22:13:39
но клиент я пока не сделал

Artur
03.12.2016
22:13:50
не осилил я твое сообщение(
в идеа: ctrl+n пишешь IAL имея ввиду InterfceApiList - по первым буквам. и не только первым

D'
03.12.2016
22:13:55
Артур Евгеньевич
03.12.2016
22:13:56
так что пока с api.php hf,jnf.

Aleh
03.12.2016
22:14:35
по первым буквам кусков в FQCN

Google
Artur
03.12.2016
22:14:48
не осилил я твое сообщение(
а ещё когда в 1 папке лежит всё. есть аткой подход хзранить связанные элементы рядом. вплоть до моделей бизнесов интерфейсов и ексепшенов

Aleh
03.12.2016
22:15:01
ну да

норм

Artur
03.12.2016
22:15:05
и тут вопрос либо раскидать по папкам если честь что раскидывать или файлы обозвать явно

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

Evgeniy
03.12.2016
22:15:31
я где то нотацию видел к которой привык там Interface на конце пишут

Aleh
03.12.2016
22:15:36
я все равно не могу понять, как тебе помогает префиксы интерфейсов

или постфиксы

Evgeniy
03.12.2016
22:15:52
в одной папке когда лежит

в одном namespace

Artur
03.12.2016
22:16:09
по первым буквам кусков в FQCN
например может быть разные каталоги но интерфейс быть один.

Evgeniy
03.12.2016
22:16:27
UserInterface UserException UserTraint AbstractUser User - конкретная реализация

Artur
03.12.2016
22:16:34
по первым буквам кусков в FQCN
как следствие ICanalog Catalog и CatalogSale

Evgeniy
03.12.2016
22:16:38
вариантов именования тьма

главное чтобы едино образно по проекту

Artur
03.12.2016
22:17:05
а как вы к инстансоф относитесь?

)

Aleh
03.12.2016
22:17:06
наглядность
ну с таким же успехом можно добавлять еще первые буквы названий методов, хз

Google
Aleh
03.12.2016
22:17:21
а как вы к инстансоф относитесь?
я знал, что рано или поздно мы перейдем и на это дерьмо

Artur
03.12.2016
22:17:24
я лично норм но не оч красиво даже с интерйфейсами :) есть ждвижение против такой магии

Sergei
03.12.2016
22:17:33
а как вы к инстансоф относитесь?
Тип определять? Плохо относимся :)

Aleh
03.12.2016
22:17:52
шарит

полиморфизм все дела

Artur
03.12.2016
22:17:58
Тип определять? Плохо относимся :)
так вопрос не в том плохо или хорошо. вопрос в том что это может быть важно

Evgeniy
03.12.2016
22:18:12
так в php нет перегрузки методов

Artur
03.12.2016
22:18:12
полиморфизм все дела
ну я с того и начал

Evgeniy
03.12.2016
22:18:20
поэтому без instanceof никак

Aleh
03.12.2016
22:18:25
ээээээ

эээээээ

ээээээээээ

Artur
03.12.2016
22:18:50
поэтому без instanceof никак
программирование это мильён путей к 1 результату. никак не оч )

Evgeniy
03.12.2016
22:19:02
ну да можно по извращаться)

Artur
03.12.2016
22:19:04
catch по сути тоже инстансоф

Evgeniy
03.12.2016
22:19:13
наследованием например и переопределением метода)

Artur
03.12.2016
22:19:18
раньше небыло "или

в 7.1 обещали кста

Aleh
03.12.2016
22:19:34
catch по сути тоже инстансоф
ну разве что здесь

Google
Artur
03.12.2016
22:19:36
нео бля, приходилось делать инстансоф чтобы не дублироваться

Aleh
03.12.2016
22:19:50
ну хз

Artur
03.12.2016
22:19:50
а такие примеры попадаются на практике

Aleh
03.12.2016
22:19:59
почему просто не внести в метод

Artur
03.12.2016
22:20:06
например "имеет ли обхект метод toArr"

например для правильного экспорта

Aleh
03.12.2016
22:20:18
и в разных инстансах по-разному определять?

Artur
03.12.2016
22:20:19
потому что он может не иметь и это нормально

потому что длишний труд

есть метод превращаешгь обхект в массив. нет приводжишь через _sleep

ну это грязщный пример

у меня было такое когда я делал вещи "унверсальные"

Aleh
03.12.2016
22:21:47
ну я чет не понял

Artur
03.12.2016
22:21:58
чтобы как я задумал или хоть как-то(например при отладке)

я такое конечно давно не практикую

но было такое )

вот накпример простое - смержить 2 версии бизнес(домен) объекта. может по интерфейсу и в слепую

типа старая и новая версия

но старая лучше чем новая никакая

Google
Artur
03.12.2016
22:24:55
в прочем не важн

Aleh
03.12.2016
22:25:23
ну это был какой-то пример, где наличие адаптера и дто спасло бы тебе время)

ну либо я его неправильно понял

Artur
03.12.2016
22:25:52
ну какаяр азница адаптер или нет

у меня хэлпер был..

это депенденси инжекшен адаптер )))

Aleh
03.12.2016
22:26:56
да бля

адаптер это не про то

смотри

Artur
03.12.2016
22:27:09
а ведь было время когда нельзщя было сменить даже Logger* чтобы ене поломалось

Aleh
03.12.2016
22:27:17
у тебя есть какая-то бизнес-сущность, которую вы в приложении юзали

ну пусть профиль

Artur
03.12.2016
22:27:37
адаптер это независимая прослойка для реализации, чёрная коробка с ТВОИМ интерфейсом

Aleh
03.12.2016
22:27:41
class Profile { private FullName $fullName; private Phone $phone; } чет типа такого

из соц. сетей тебе прилетала dto уровня class VkProfileDto { $first_name; $middle_name; $last_name; $email; $phone }

и ты ее просто мапил на свою бизнес-сущность

например email тебе вообще не нужен, а остальное трансформил

потом api изменился

ты подменяешь адаптер, который плюет туже dto, но логику формирования другая

Страница 9 из 785