
Артур Евгеньевич
18.02.2017
13:08:03
разве?

Evgeniy
18.02.2017
13:08:07
эта штука уже давным давно известна и есть готовые библиотеки

Артур Евгеньевич
18.02.2017
13:08:22
почему в названии DI vs DI container?

Evgeniy
18.02.2017
13:08:30
вон в том же php (если заговорили о yii) в psr предложили psr/container

Google

Evgeniy
18.02.2017
13:08:41
статью почитай а не заголовок

Артур Евгеньевич
18.02.2017
13:08:58
Хорошо

Evgeniy
18.02.2017
13:09:05
там еще есть заголовки
там речь о inverse of control и разные примеры
вот например предложение в psr https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-11-container-meta.md
принятое
и есть уже готовые библиотеки тот же php-di или Pimple ну или моя библиотека что я сам пилю)

?
18.02.2017
13:22:42
Нук что там у тебя за либа?

Aleh
18.02.2017
13:23:38
Symfony di еще

?
18.02.2017
13:24:27
Гдет были бенчмарки сравнения этих di, найти чет не могу

Evgeniy
18.02.2017
13:24:34
но если есть желание по ревьють пожалуйста

Google

Evgeniy
18.02.2017
13:24:49
допишу доку потом еще скину
https://github.com/smpl/mydi
я доку напишу скоро будет по живее выглядить потом буду спрашивать фидбеки) пока только по исходникам гулять )
но ее уже проверял в бою и мне нравится она)
если какие вопросы можно в личку по ней, ну или issue
бенчмарка нет, может потом как нибудь сделаю)

?
18.02.2017
13:43:21
Порефакторит немног и вродь норм, но надо тестить)
Заметил привычку у тебя, экономишь использование return(
Но не поскупился на создание лишних переменных

Evgeniy
18.02.2017
13:47:19
ммм интересные замечания
если можно примеры, потому что я стараюсь эту библиотеку для себя писать, по нормальному и чтобы было лучше и лучше)
если что в лс чтобы тут не флудить, люблю когда показывают как можно улучшить)

?
18.02.2017
13:48:23
Хорошо, минутку)

Aleh
18.02.2017
14:15:15

Evgeniy
18.02.2017
14:16:34
там создание класса с зависимостями
а не spl_autoloader который в пхп

Aleh
18.02.2017
14:17:05
ты там какие-то include делаешь)
конкретно про https://github.com/smpl/mydi/blob/acd8571d9d5b878987c054d6e8c5df061c606b7f/src/container/IoC.php

Evgeniy
18.02.2017
14:18:38
это чтобы создания объекта описывать в файле

Sergey
18.02.2017
14:18:50
эм....

Google

Evgeniy
18.02.2017
14:18:55
например тебе надо \Psr\LoggerInterface

Aleh
18.02.2017
14:19:09
это типа модули получается)

Evgeniy
18.02.2017
14:19:23
это подключение сторонних модулей
некоторые подгрузятся автоматически через reflection

Sergey
18.02.2017
14:19:56
нипонятно
еще и ob_start какие-то

Aleh
18.02.2017
14:20:24
ага

Sergey
18.02.2017
14:20:33
похоже на какой-то кастыль для какого-то отдельного кейса
тип если мой код варнинги вызывает я уже не могу подключить его?

Evgeniy
18.02.2017
14:21:12
можешь

Sergey
18.02.2017
14:21:12
это ж варнинги, что мне кидать все и исправлять их потому что низя?

Evgeniy
18.02.2017
14:21:29
еще раз

Evgeniy
18.02.2017
14:21:53
у тебя есть объект до вызова которого (конструктора надо вызвать статический метод)

Sergey
18.02.2017
14:22:19
нет таких)

Evgeniy
18.02.2017
14:22:22
например фабричным методом экземпляр создается
например в doctrint он есть

Sergey
18.02.2017
14:22:31
ну так то фабрика просто

Evgeniy
18.02.2017
14:22:34
doctrine

Sergey
18.02.2017
14:22:39
зачем инклуды то?
и зачем ob_start

Google

Evgeniy
18.02.2017
14:23:25
на случай если ты в коде допустишь ошибку
например опечатку и вызовишь EntityManager::fаctory(...)

Sergey
18.02.2017
14:23:55

Evgeniy
18.02.2017
14:23:59
в слове factory буква с - русская

Sergey
18.02.2017
14:24:19
то есть ты... схаваешь фатал?

Evgeniy
18.02.2017
14:24:24
нет

Sergey
18.02.2017
14:24:29
тогда повторюсь
опечатка = ошибка
ошибка пользователя

Admin
ERROR: S client not available

Aleh
18.02.2017
14:24:49
она ж итак пробросится

Sergey
18.02.2017
14:24:51
твоя реализация контейнера не должна хэндлить такие вещи
просто потому что тебя и не просят об этом

Evgeniy
18.02.2017
14:25:19
хорошо стори номер два
ты закрыл ?> с пробелом в конце
и при отправке куки у тебя будет текст что заголовки не могут быть отправлены

Sergey
18.02.2017
14:25:47
опять же

Evgeniy
18.02.2017
14:25:59
и теперь ищи подобную багу

Sergey
18.02.2017
14:26:10
то что чувак не следует стандартам PSR не говорит о том что твоя библиотека для управления зависимостями должна это хэндлить

Aleh
18.02.2017
14:26:20
как это относится к контейнеру)

Google

Sergey
18.02.2017
14:26:36
искать этот символ тебе всеравно надо будет

Evgeniy
18.02.2017
14:26:50
то что отправку пробела в output

Aleh
18.02.2017
14:27:00
а почему оно статический анализ тогда не делает?)

Evgeniy
18.02.2017
14:27:21
будет написано чувак я пытаюсь подключить entityManager а он с не пустым output смотри этот файл и хуню не твори

Sergey
18.02.2017
14:27:44
то что отправку пробела в output
я похапэшник который не знает что не надо закрывающий тег ставить в нормальном коде. И я там лишний символ сделал или вообще BOM заголовок добавил в начале файла. Твоя либа сказала "все плохо, иди ищи где"

Evgeniy
18.02.2017
14:27:45
как он разрабтывает его вкус

Sergey
18.02.2017
14:27:52
причем бага как бы из-за этого может и не быть

Evgeniy
18.02.2017
14:27:52
и может в проекте принят стандарт не psr

Sergey
18.02.2017
14:27:57
и в любом случае это не твоей либки дело

Evgeniy
18.02.2017
14:28:23

Sergey
18.02.2017
14:28:28
короч мне кажется ты страдаешь типичной болезнью любого "автора проекта" - слишком много ненужных фич

Evgeniy
18.02.2017
14:28:40
просто инклудить фаил ?

Sergey
18.02.2017
14:28:42
причем в реальности ты понятия не имеешь нужна эта фича или нет

Evgeniy
18.02.2017
14:28:48
и верить в то что там все нормально

Sergey
18.02.2017
14:28:50
ну то есть я так и не понял - у тебя composer и так все зависимости загрузит, ну и в целом это проблема пользователя как он автозагрузку реализует у себя

Evgeniy
18.02.2017
14:29:31
в этом файле создается экземпляр класса
обычно это для всяких легаси

Sergey
18.02.2017
14:29:57
всеравно не понимаю...