@prophp7

Страница 185 из 1387
Timur
13.01.2017
09:27:17
+1. То, что в gist — это отстрел ноги гранатомётом.

Попытка его сделать.

da horsie
13.01.2017
09:27:33
так так

поясните

Google
da horsie
13.01.2017
09:28:06
что я упустил?

Vladimir
13.01.2017
09:28:08
Для того что там делается нужно использовать интерфейсы

dypa
13.01.2017
09:28:14
trait != extends

da horsie
13.01.2017
09:28:29
trait != extends
почему?

dypa
13.01.2017
09:28:50
почему?
гугл расскажет :)

da horsie
13.01.2017
09:30:56
ну

что гуглить-то надо? пока не вижу объяснений

трейт определяет публичный интерфейс

da horsie
13.01.2017
09:31:38
как нет?

методы публичные же

Vladimir
13.01.2017
09:31:55
trait это просто реализация copy-paste

da horsie
13.01.2017
09:32:01
есть трейт = есть методы

Google
da horsie
13.01.2017
09:32:26
copy-paste тоже определяет публичный интерфейс

?
13.01.2017
09:32:29
это как абстрактный класс, там могут быть все, что есть в абстрактном классе

Vladimir
13.01.2017
09:32:51
Почитай про множественное наследование, и почему от него в своё время многоие отказались

Timur
13.01.2017
09:32:55
есть трейт = есть методы
Ты, мне кажется, путаешь с duck typing. В modern PHP duck typing не очень.

da horsie
13.01.2017
09:33:16
Почитай про множественное наследование, и почему от него в своё время многоие отказались
ты же не будешь говорить, что реализация нескольких интерфейсов это плохо?

Vladimir
13.01.2017
09:34:27
при чем тут наследование? я про интерфейсы говорю
Как раз при том. Что trait это костыль что бы без множественного наследования, можно было выделять одинаковые участи кода и шарить их между классами. В то же время trait сознательно сделали что бы они не декларировали интерфейс

Vladimir
13.01.2017
09:34:55
Но это должны быть интерфейсы, сам по себе trait их не декларирует

da horsie
13.01.2017
09:35:00
почему?

по факту ведь это интерфейс

у него даже имя есь

Vladimir
13.01.2017
09:35:15
почему?
Почему в интерфейсах нельзя реализовывать методы?

da horsie
13.01.2017
09:35:59
гм

не знаю

а почему?

при чем тут это?

Timur
13.01.2017
09:36:16
Google
Timur
13.01.2017
09:36:26
Ты троллишь?

da horsie
13.01.2017
09:36:30
нет

?
13.01.2017
09:36:32
по факту ведь это интерфейс
не знаешь чем отличаются интерфейсы от абстрактных классов??

da horsie
13.01.2017
09:36:33
вообще нет

знаю

как это отвечает на мой вопрос про трейты?

Vladimir
13.01.2017
09:37:14
как это отвечает на мой вопрос про трейты?
Именно по этому я предлагаю тебе посмотреть чем плохо множественное наследование

Там и будет ответ на вопрос почему в интерфейсах нет реализации

Vladimir
13.01.2017
09:38:42
Вообще trait это сильно статическая штука

da horsie
13.01.2017
09:39:04
ответ на мой вопрос - "потому что трейт с интерфейсом = множественное наследование"

Vladimir
13.01.2017
09:39:13
И если бы ты мог указать его как ожидаемый интерфейс, то возможности его подменить не было бы никакой

da horsie
13.01.2017
09:41:29
да, допер

спасибо

второй час ночи не лучшее время для работы, видимо

da horsie
13.01.2017
09:45:00
собственно мне и интерфейс нужен был для странной цели

спасибо чуваки )

Aleh
13.01.2017
09:56:49
а для чего вы в коде используете трейты?

ну я имею ввиду

Google
?
13.01.2017
09:57:26
хм

Aleh
13.01.2017
09:57:28
какой-нибудь реальный пример

?
13.01.2017
09:57:34
странный вопрос

i
13.01.2017
10:02:10
https://github.com/laravel/laravel/blob/master/app/Http/Controllers/Auth/LoginController.php

?
13.01.2017
10:02:12
вот например https://github.com/laravel/framework/tree/5.3/src/Illuminate/Foundation/Auth в ларке вообще много где юзаются трейты, да и не только в ларке

Dmitriy
13.01.2017
10:05:06
а для чего вы в коде используете трейты?
Контроллерах, выношу в них код: валидацию, проверка на ошибки. Тем образом у меньшаю дублирования кода.

Dmitriy
13.01.2017
10:07:34
Aleh
13.01.2017
10:08:49
https://github.com/laravel/laravel/blob/master/app/Http/Controllers/Auth/LoginController.php
чет не улавливаю что этот код делает, почему этот UserAuthenticator не передавать как зависимость?

Admin
ERROR: S client not available

Aleh
13.01.2017
10:08:56
зачем методы встраивать в сам контроллер

Vadim
13.01.2017
10:09:35
вообще зачем вам трейты? ими только грабли себе раскладывать

Aleh
13.01.2017
10:10:25
вообще зачем вам трейты? ими только грабли себе раскладывать
у меня про них неоднозначное мнение, их же в язык зачем-то ввели, причем в этот уже новый пых вводили

Vadim
13.01.2017
10:11:35
ну не все хорошо и нужно, что делается)

видел прикольные воркэраунды в трейтах, которые юзают внешние методы

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

чет звучит жутко кажется

Dmitriy
13.01.2017
10:13:37
а я думал я говнокодер
с чего это говнокод ?

Roman ?
13.01.2017
10:14:17
с чего это говнокод ?
тащить в контроллер трейт для валидации?

Google
Dmitriy
13.01.2017
10:17:01
тащить в контроллер трейт для валидации?
окей. что же делать если нужны всякие упрощалки, аля функции render или redirect ? И если не хочется их выносить в базовый класс

?
13.01.2017
10:17:49
та не реально кто так делает, вы вообще видели контроллеры например ларки?

Dmitriy
13.01.2017
10:18:07
Там везде трейты используются

?
13.01.2017
10:18:14
епт не пишите свои фреймворки, велосипедисты блин))

Roman ?
13.01.2017
10:18:30
а валидация данных - нет

Vadim
13.01.2017
10:19:45
валидация все же достаточно серьезный процесс, чтобы сделать его самостоятельной сущностью

а не трейтом

Yura
13.01.2017
10:20:23
сущностью?))

Dmitriy
13.01.2017
10:20:31
а валидация данных - нет
Хм с чего это не имеет ? вот даже нашел ответ @fes0r https://habrahabr.ru/post/216955/#comment_7433099

Vadim
13.01.2017
10:20:32
ну блин

сервисом

классом, как удобно

Yura
13.01.2017
10:21:10
ну сущностью точно нет

классом мб)

Vadim
13.01.2017
10:21:32
ну что ж так к словам цепляться-то)

Yura
13.01.2017
10:21:55
нууу, я просто уже начал представлять валидацию через сущность

Aleh
13.01.2017
10:22:49
сущностью?))
никто ж не сказал доменной сущностью

Yura
13.01.2017
10:23:07
в ином случае я не знаю что такое сущность

это вообще что угодно

Hell
13.01.2017
10:23:39
https://habrahabr.ru/post/116375/

это еще актуально?

Aleh
13.01.2017
10:24:07
это вообще что угодно
да, там ключевое слово было "отдельная"

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