Yuriy
Всем привет! Кто нибудь работал с библиотекой https://github.com/jcelliott/turnpike
Yuriy
Или вообще с wamp
Yuriy
Я работал. Хреновая либа.
А какую тогда посоветуете?
Ivahaev
Что от вампа требуется?
Ivahaev
Смотря какие цели, в общем.
Nix
подскажите как file_get_contents("php://input") в го будет выглядить?
Daniel
а?!
Daniel
это что за покемон?
Anonymous
php://input - это же $_POST
Anonymous
какой-то дорвей выходит
Kirill
Kirill
Но может и ctx
Aleksandr
Req
ну да
Anonymous
newWrapper() сделать ?
Aleksandr
фабрику сделай
invariance
Эмм
invariance
они еще и по улице ходят
Anonymous
HR же
invariance
не поверишь
Anonymous
других тут нет :))
Anonymous
Есть
0.00000000000000001% ага )
invariance
@Alsterwasser раскатай их
invariance
0.00000000000000001% ага )
был вопрос не процента а наличия
Anonymous
других тут нет :))
ну почему же, @Alsterwasser
Irina
invariance
а на чем она по твоему кодит?
Irina
я пишу на го, но так себе
Aleksandr
паттерн Фабрика
Aleksandr
любая реализация
Anonymous
одиночка - антипаттерн
Aleksandr
ну а как ты это у себя в пхп решал?
Aleksandr
сделай так же
Anonymous
похоже на dependency injection для этого в го юзаю это https://github.com/sarulabs/di
Anonymous
создание всего инкапсулирует в себя, дальше берешь объект и получаешь из него все что надо
Aleksandr
а я свой написал в 10 строк https://pastebin.com/XbVJRGsr
Anonymous
а я свой написал в 10 строк https://pastebin.com/XbVJRGsr
удобно если нет большой вложенности зависимостей
Anonymous
когда один объект создается со вторый, второй с третьим и тд
Aleksandr
а в чем проблему видишь?
Aleksandr
у меня так и юзается в проекте
Anonymous
у меня так и юзается в проекте
чтобы создать объект, его зависимости достаются из контейнера?
Aleksandr
удобно если нет большой вложенности зависимостей
container.Set("CoreEventHandler", func(c *di.Container) interface{} { return application.NewCoreEventHandler(c.Get("RabbitMQClient").(*amqp.Connection), container.Get("CommandBus").(bus.Bus)) })
Anonymous
понятно
Anonymous
тогда вообще все также )
Kirill
Там какая-то жесть, чувак своё же приложение в вендор запихал, причем он понял что не прав и там же дает ссылку на нормальный, по его мнению, пример https://github.com/blue-jay/blueprint
Kirill
не делает так никто, видел я и "чудаков" которые Makefile делают чтоб он из разных папок все в одну сгружал, а потом GOPATH на "это" ставил
Aleksandr
Александр, ты можешь упорно игнорировать мои слова и пытаться искать на го примеры понятные твоему пхпшному бэкграунду, но от этого этот пример не станет го-вей. так не делеает никто
Aleksandr
для чего существует vendor понятно из названия - хранить сторонние либы
Aleksandr
так же как в любом другом языке
Aleksandr
контейнер или глобальные переменные
Aleksandr
зачем тебе ооп чтобы прокидывать зависимости?
Aleksandr
"это" что?
Aleksandr
а в го используются фабрики
Aleksandr
ты не знаешь как фабрика выглядит? как метод, знающий как создавать инстанс
Aleksandr
func NewCoreApiClient() *CoreApiClient { return &CoreApiClient{ client: http.DefaultClient, baseUrl: os.Getenv("CORE_API_BASE_URL"), } }
Aleksandr
можно передавать аргументы
Aleksandr
не придумывай
Kirill
А потом все спрашивают: почему все пхпшников гнобят ? )
Aleksandr
именно фабрика о реализации и должна знать
Oleksii
само предназначение фабрики - создавать конкретные реализации интерфейсов
Aleksandr
я не думаю - я знаю
Oleksii
что здесь может быть неоднозначно
Aleksandr
https://pastebin.com/Gjf5gETB знакомься, это фабрика
Aleksandr
да.
Aleksandr
глобальные переменные
Kirill
Я за такое прописываю живительных трындюлей
Aleksandr
у тебя есть два варианта. оба озвучены.
Bogdan
Приветствую а есть ли в Go аналог index файла в каталоге?
Bogdan
то есть, что бы когда импортируем package вызывается какая то функция
Bogdan
приехали
ну прошу прощения( перешел с node.js, еще разбираюсь