@prophp7

Страница 78 из 1387
Sergey
25.11.2016
20:40:09
никакой движухи не наблюдаю

ну ладно

Dmitriy
25.11.2016
20:40:38
есть пхпгиикс. но там слишком активно

Sergey
25.11.2016
20:41:02
слишком много тупых вопросов?

Google
Dmitriy
25.11.2016
20:41:17
не по теме обычно. все

Sergey
25.11.2016
20:41:25
точнее насколько много? Если 10 это вопросы в чатике ларавели

Dmitriy
25.11.2016
20:41:51
1000 человек. и постоянный флуд

Sergey
25.11.2016
20:42:03
ну не всеж о работе

интересно, а тут девушки есть?

Dmitriy
25.11.2016
20:42:40
тут есть . но не разу не писали

Sergey
25.11.2016
20:42:49
HR-ы наверное

Dmitriy
25.11.2016
20:43:32
в ларавел была одна девушка что-то про ларку спрашивала.

Sergey
25.11.2016
20:43:46
надеюсь она одумалась и пишет на питоне или nodejs

Aleh
25.11.2016
20:45:24
на го, епт

Sergey
25.11.2016
20:45:34
го на го, я создал

Aleh
25.11.2016
20:45:43
игого, это вроде в соседнем чате конь

Sergey
25.11.2016
20:45:55
что за конь?

Google
Aleh
25.11.2016
20:46:14
ну тебя ж закинули в чатик и там есть конь

Roman
25.11.2016
20:46:17
челик в канале симфони

поясните за композицию в php

Sergey
25.11.2016
20:46:46
поясните за композицию в php
композиция типов, все такое.

Roman
25.11.2016
20:47:04
множественное наследование - понятно, можно использовать трейты, но трейты скорее для композиции

Sergey
25.11.2016
20:47:22
множественное наследование является примерном того, что ты проиграл

> но трейты скорее для композиции трейты для копипасты кода. Они никак не влияют на типы

Roman
25.11.2016
20:48:15
горизонтальная композиция

Sergey
25.11.2016
20:48:25
композиция бывает только типов

трейты - это средство для рефакторинга по большей части

Roman
25.11.2016
20:48:38
Это дополнение к обычному наследованию и позволяет сделать горизонтальную композицию поведения, то есть применение членов класса без необходимости наследования.

Sergey
25.11.2016
20:48:43
и для устранения дублирования очень тупого кода

Roman
25.11.2016
20:48:44
http://php.net/manual/ru/language.oop5.traits.php

инфа сотка

Sergey
25.11.2016
20:48:54
инфа ноль

Roman
25.11.2016
20:49:04
скажи это разработчикам php

Sergey
25.11.2016
20:49:08
> Трейт (англ. trait) - это механизм обеспечения повторного использования кода

они прекрасно понимают что трейты никакого отношения не имеют ни к системе типов ни к наследованию

тупо устранение дублирования кода

Roman
25.11.2016
20:49:34
почему ты с левых источников берешь инфу?

Google
Roman
25.11.2016
20:49:44
в первую очередь надо наверно смотреть доку

Sergey
25.11.2016
20:49:47
почему ты с левых источников берешь инфу?
я скопировал инфу с твоей ссылки

Roman
25.11.2016
20:49:52
ну мне так кажется

Sergey
25.11.2016
20:49:58
вторая строчка в доке

Roman
25.11.2016
20:50:03
окей

дальше прочитай

я оттуда это скопировал

Sergey
25.11.2016
20:50:36
наследование в любом виде - рак

Roman
25.11.2016
20:50:40
повторное использование кода - это понятно

да не в любом

Sergey
25.11.2016
20:50:49
наследование классов - рак

в любом

Sergey
25.11.2016
20:51:02
просто как и с любым раком может наступить ремиссия

но большинство обнаруживают рак уже на 4-ой стадии

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

Roman
25.11.2016
20:51:58
ну типа нет, вот пример, написал ты общий класс для парсеров, 4 основных метода, которые должны быть в каждом парсере

2 из которых допустим детекты(абстрактно)

которые тупо проверяют источник на true and false

а 4-ый парсит

Sergey
25.11.2016
20:52:51
class OtherParser implements Parser { private $baseParser; public function __construct(ParserUtils $baseParser); }

Google
Roman
25.11.2016
20:53:00
и возвращает в []

Sergey
25.11.2016
20:53:08
вот я тебе привел)

Roman
25.11.2016
20:53:18
надо было оставить оформление кода

смотрелось лучше

Sergey
25.11.2016
20:53:29
в смысле?

Roman
25.11.2016
20:53:38
`

class{ }

Sergey
25.11.2016
20:54:03
пофиг. Если у тебя есть 4 парсера, и им всем нужны 4 метода (именно им. а не тем кто парсер будут юзать)

то значит тебе надо вынести эти 4 метода в отдельный final класс и заюзать инстанс оного как зависимость своих парсеров

Roman
25.11.2016
20:54:41
эти парсеры пишут люди, им они нужны

Admin
ERROR: S client not available

Sergey
25.11.2016
20:54:45
и?

Roman
25.11.2016
20:54:46
и методы меняются

Sergey
25.11.2016
20:54:52
тем более наследование не выход

Roman
25.11.2016
20:54:59
то есть там допустим проверка от кого пришло

в одном методе детекта

Sergey
25.11.2016
20:55:12
мой спосб эти кейсы покрывает

Roman
25.11.2016
20:55:13
и его никак нельзя сделать final

Sergey
25.11.2016
20:55:27
и его никак нельзя сделать final
можно, поскольку он не меняется и от него никто не наследуется

и не будет наследоваться

Google
Roman
25.11.2016
20:55:31
ни один из 4 методово

Sergey
25.11.2016
20:55:34
надо что-то новое - просто делаешь еще один класс

делаем все классы final и живем спокойно

(конечно же есть исключения но их очень мало)

Roman
25.11.2016
20:56:38
наверное я плохо объясняю на словах)

Sergey
25.11.2016
20:56:41
возможно

давай так

Roman
25.11.2016
20:56:50
щас напишу

пример

Sergey
25.11.2016
20:56:54
давай

Roman
25.11.2016
21:00:59
class BaseClass{ public function detectSomeInformation(){ //return parsedArray } public function detectByBody(){ return false; } public function detectFrom(){ return false; } public function someDetect(){ return false; } } class Parser extends BaseClass{ public function detectSomeInformation(){ return [$someResult]; } public function detectByBody(){ retrun strpos(haystack, needle) !== false; } public function detectFrom(){ retrun strpos(haystack, needle) !== false; } public function someDetect(){ //detect } }

Sergey
25.11.2016
21:01:28
эм... то есть в базовом классе только интерфейс?

Roman
25.11.2016
21:01:40
что то вроде этого

Sergey
25.11.2016
21:01:49
а почему бы не заюзать... ну не знаю... интерфейс?

Aleh
25.11.2016
21:01:59
https://www.youtube.com/watch?v=Y-16C5yhKLo
как-то они касаются только ну э, херни какой-то. Про зоны ответственности и про владение кода ничего нет

Dmitriy
25.11.2016
21:02:05
базовая

Roman
25.11.2016
21:02:17
есть

просто лень писать для примера реализацию

Sergey
25.11.2016
21:02:34
а если там реализация есть ?
зачем тогда называть BaseParser? назови это просто Parser

Aleh
25.11.2016
21:02:34
ну я еще пару его видосов глянул, ну, идеи там прикольные есть, но в целом ты прав)

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