
?
07.09.2016
13:12:54
модно, да?

(;¬_¬)
07.09.2016
13:12:54
подумал "а почему бы не воткнуть"
=)

D'
07.09.2016
13:13:42

Google

?
07.09.2016
13:13:57
class_exists
лучше уж тогда создать интерфейс для экспортёра и на предмет интерфейса проверять

(;¬_¬)
07.09.2016
13:14:00

D'
07.09.2016
13:14:13

?
07.09.2016
13:14:14
а то будут эту фабрику юзать в хвост и в гриву с непонятными целями

(;¬_¬)
07.09.2016
13:14:28

?
07.09.2016
13:14:34
instanceof

(;¬_¬)
07.09.2016
13:14:41
а, ну так не интересно

Sergey
07.09.2016
13:14:46

(;¬_¬)
07.09.2016
13:15:13
instanceof
все равно классэкзистс надо проверять, а если он пытается там хуиту какую-то вызвать в фабрике
особенно если автоподбор класса
тогда уж сразу и class_exists и instance of

?
07.09.2016
13:16:10
Оператор instanceof не генерирует никаких ошибок, если проверяемая переменная не является объектом. В этом случае он просто возвращает FALSE. Константы, тем не менее, не допускаются.

Sergey
07.09.2016
13:16:18

Google

?
07.09.2016
13:16:28
хотя
ему объект нужен

Sergey
07.09.2016
13:16:39
фабрика норм - не гоните
а то сейчас все паттерны в антипаттерны превратите

D'
07.09.2016
13:16:52
На фабриках страна держится

Артур Евгеньевич
07.09.2016
13:17:26
есть же два основных вида фабрик AbstractFactory и FactoryMethod

?
07.09.2016
13:17:29
нука щас проверю

Артур Евгеньевич
07.09.2016
13:17:36
вот вчера читал думал вдруг нигде не пригодится
а тут раз и пригодилось в чате

(;¬_¬)
07.09.2016
13:17:55
?

Sergey
07.09.2016
13:18:02
у меня фабрики в двух последних проектах )

(;¬_¬)
07.09.2016
13:18:15

Sergey
07.09.2016
13:18:41

?
07.09.2016
13:18:42
не, хуй
строку не проверить

(;¬_¬)
07.09.2016
13:18:52

?
07.09.2016
13:18:55
класс_экзистс таки надо

(;¬_¬)
07.09.2016
13:18:59
так что сперва надо проверить что класс есть

Артур Евгеньевич
07.09.2016
13:19:00
а чо там с factoryMethod?
https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B1%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

(;¬_¬)
07.09.2016
13:19:08
а потом до кучи можно проверить, что интерфейс тот что нужен

Google

Артур Евгеньевич
07.09.2016
13:19:52
в облачном офисе хуево правда этим заниматься

(;¬_¬)
07.09.2016
13:20:38

Sergey
07.09.2016
13:24:12

(;¬_¬)
07.09.2016
13:26:02
разница между ними какая... чот не улавливаю...

D'
07.09.2016
13:26:51
Наркоманы. Начитаются своих паттернов, потом людям голову марочат.

(;¬_¬)
07.09.2016
13:27:04
абстрактная фабрика, это, я так понимаю, то, что в вики как современный пхп стиль описано
а фабричный метод что есть?

Sergey
07.09.2016
13:27:28

(;¬_¬)
07.09.2016
13:27:51
а, та самая фабрика по производству молотков

Sergey
07.09.2016
13:27:56
например вот

(;¬_¬)
07.09.2016
13:28:02
которая производит фабрику для рукояток и фабрику для молотов

Sergey
07.09.2016
13:28:08
есть у тебя класс "Задача"
у задачи есть какие-то там опции
и ты через фабричный метод можешь создать экземпляр Задачи и набить в него свои опции
но ничего кроме Задачи ты сделать не можешь
а абстрактная фабрика это как раз про то, что хочешь ты
у тебя есть родственные классы - экспортеры

(;¬_¬)
07.09.2016
13:29:01
хм... и нахера нужен фабричный метод без абстракции?
О_о

Google

(;¬_¬)
07.09.2016
13:29:13
крутая фабрика производящая разные объекты?

Sergey
07.09.2016
13:29:15
и фабрика может плодить разный экспортер
еще раз
ты можешь получить объект со своей конфигурацией от фабрики
но объект только одного конкретного класса

Артур Евгеньевич
07.09.2016
13:30:05

Sergey
07.09.2016
13:30:23

(;¬_¬)
07.09.2016
13:30:33

Sergey
07.09.2016
13:30:34
ну, точнее может быть не методо

Admin
ERROR: S client not available

(;¬_¬)
07.09.2016
13:30:35
?
=)
так... для абстрактной фабрики мне обязательно класс делать абстрактным? ?

Артур Евгеньевич
07.09.2016
13:31:19
а я не понял вот в википедии гляньте пример для php5 современный вариант

(;¬_¬)
07.09.2016
13:31:28
и чо там непонятно?

Sergey
07.09.2016
13:31:28

?
07.09.2016
13:31:29
http://sandbox.onlinephpfunctions.com/code/e0ced99082016d70fdd509aeffc17918847b5684 и никаких класс_экзистов 8)

Артур Евгеньевич
07.09.2016
13:31:30
там тот же класс абстрактный создает разных зверей

(;¬_¬)
07.09.2016
13:31:35
вот у меня примрено такая же хрень

Google

Sergey
07.09.2016
13:31:43
парни парни
давайте отойдем назад
что такое паттерны?

?
07.09.2016
13:32:02
я на стуле сижу
не хочу отходить

(;¬_¬)
07.09.2016
13:32:16

Артур Евгеньевич
07.09.2016
13:32:26
я так вижу мир
но я художник

(;¬_¬)
07.09.2016
13:32:45
вопрос остается такой, что дешевле в плане производительности... проверить, что класс есть, или словить ошибку на несуществующий

?
07.09.2016
13:33:00
проверить наверно
пых все равно при создании проверять будет

Sergey
07.09.2016
13:33:20

?
07.09.2016
13:33:23
прежде чем ошибку кинуть

(;¬_¬)
07.09.2016
13:33:30
проверить наверно
да вот хз...
проверять надо каждый раз, а ошибка будет только тогда, когда ошибка

Sergey
07.09.2016
13:33:53
фабрикой можно сделать что угодно - хоть анонимную функцию внутри метода hui()

(;¬_¬)
07.09.2016
13:33:59
пилим как хотим

?
07.09.2016
13:34:03
если ловить, то можно левак поймать

(;¬_¬)
07.09.2016
13:34:06
просто суть такая

?
07.09.2016
13:34:09
например ошибку в конструкторе
так что лучше проверять

(;¬_¬)
07.09.2016
13:34:15