[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Колупаем DI Container
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
chee
Цитата (twin @ 24.01.2021 - 21:20)
Ты еще пимпл обвини в том, что он ведет себя не так, как твой.

Я не ожидал поведения как у моего контейнера, я ожидал что я описываю сущность как сервис, то через get буду получать всегда один и тот же настроенный инстанс, если описываю сущность как фабричную, то каждый раз буду получать новый настроенный инстанс. Мне это кажется логичным для того что я увидел при объявлении карты зависимостей. Я никак не ожидал, что я буду получать все сущности как сервисы.

Цитата (twin @ 24.01.2021 - 21:20)
А сейчас собираюсь всю твою CMS поставить, правда говорят она на запускается чего то.

Она запускается, просто нужно использовать не index.php, а index.php/ при запросе из браузера. У меня там с просчетом basePath и матчингом пустого роута проблемы.
Цитата (twin @ 24.01.2021 - 21:20)
Вот сейчас поставлю твою поделку и покажу, как надо было.

Жду smile.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Ругается. И действительно нету нифига файла. Да и папки cahe нету... :unsure:
Uncaught Exception: require(cache/metadata/application/DI.php): failed to open stream: No such file or directory


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (chee @ 24.01.2021 - 17:43)
Я никак не ожидал, что я буду получать все сущности как сервисы.

Ты зарегал сервис. И его передаешь зависимостью. Сервис, это всегда один и тот же объект.

Поставь этот класс напрямую в зависимость, и будешь получать новый. Это как раз к вопросу о дырке в твоем контейнере. Зависимости всегда должны быть новыми объектами. А сервисы наоборот.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 24.01.2021 - 21:50)
Uncaught Exception: require(cache/metadata/application/DI.php): failed to open stream: No such file or directory

Это для кого на странице проекта написано?
Цитата
Разворачивание

    Установить зависимости с помощью Composer
    Установить права sudo find ./ -type d -exec chmod 775 {} + -or -type f -exec chmod 664 {} + && sudo chown username:username -R ./
    Вызвать консольную утилиту из папки проекта php bin/deploy.php


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Цитата (twin @ 24.01.2021 - 21:53)
Поставь этот класс напрямую в зависимость, и будешь получать новый. Это как раз к вопросу о дырке в твоем контейнере. Зависимости всегда должны быть новыми объектами. А сервисы наоборот.

У меня нет вопросов к внедрению зависимостей в конкретный инстанс твоим контейнером, там все так как я ожидаю. Проблема именно в том как сам контейнер себя ведет когда его щупают снаружи. Мне что бы от него получить новую сущность нужно сделать getNew, а не get. Твой контейнер подразумевает четкое разделение, что фабричные сущности, а что сервисы, для меня непонятным является тот факт, что имея эту информацию ты не сделаешь так что бы get в зависимости от определения типа сущности возвращал или новый инстанс или уже существующий при обращении к нему (методу get).

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 24.01.2021 - 18:16)
Это для кого на странице проекта написано?

Ну не для меня точно laugh.gif Я то по нужде ее ставлю.

Вылезла твоя страничка с лицензией, потом вот:
Цитата
Uncaught Exception: fopen(/dev/urandom): failed to open stream: No such file or directory
Мне некогда еще с ней разбираться. Подсказывай что делать.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (chee @ 24.01.2021 - 18:28)
для меня непонятным является тот факт, что имея эту информацию ты не сделаешь так что бы get в зависимости от определения типа сущности возвращал или новый инстанс или уже существующий при обращении к нему (методу get).
Ok. Раз надо, сейчас сделаем.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 24.01.2021 - 22:51)
Мне некогда еще с ней разбираться. Подсказывай что делать.

используется свой механизм сессий, тут поменяй src/ExampleCMS/Session/Session.php строка 121 на microtime(true) например. Там берется уникальное число для генерации ключа.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Зациклилось. После страницы установки БД кидает обратно на выбор языка.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (twin @ 24.01.2021 - 19:08)
Ok. Раз надо, сейчас сделаем.

Я понял что ты хочешь, но не понял для чего. Что то тут попахивает сервис-локатором. Как и тогда, когда тебе был нужен доступ к контейнеру внутри замыкания.
Не, пока делать не буду, надо разобраться сначала для чего это все. Я не хочу провоцировать людей на неправильные действия.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 24.01.2021 - 23:24)
Зациклилось. После страницы установки БД кидает обратно на выбор языка.

так так и должно быть, я же в процессе написания установщика, это пока что все что есть laugh.gif На нем и тестируй, этого хватит

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Ну так сделай страничку "Поздравляем!!!" biggrin.gif biggrin.gif biggrin.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 24.01.2021 - 23:31)
Ну так сделай страничку "Поздравляем!!!" biggrin.gif biggrin.gif biggrin.gif

для кого, себя? Зачем? У меня там проблемы и поважнее. Но не суть, у тебя есть карта зависимостей в pastebin на твой контейнер, можешь подменить в bootstrap.php. Но учти, что для твоей карты, bootstrap из контейнера нужно запрашивать сюрно, ты об этом спрашивал тут http://phpforum.su/index.php?act=Print&cli...imin=42&limit=1.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Запустил под своим контейнером. Там ошибка есть в карте для моего на 171 строке, артефакт видимо. Но это мелочи.

Щас позябаем что не так. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Так, сразу вопрос. Опять тот же. Зачем так:
$container->get('container')->get('bootstrap');


Почему не сразу?
$container->get('bootstrap');


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.