Описание тега pimple

Pimple - это небольшой контейнер для внедрения зависимостей для PHP 5.3, который состоит всего из одного файла и одного класса (около 50 строк кода).
1 ответ

Прыщ всегда возвращается как массив

У меня есть эта черта use Pimple\Container; trait ContainerAwareTrait { protected $container; public function setContainer(Container $container = null) { if (null !== $this->container) { $this->container = $container; } } public function getCo…
17 май '15 в 14:37
3 ответа

Доля прыща DI обесценилась. Что теперь?

В Pimple 1.0 я имел обыкновение делиться экземплярами классов вот так: $app['some_service'] = $app->share(function () { return new Service(); }); Сейчас это кажется устаревшим, и я не могу найти новый способ сделать это.
12 янв '16 в 19:53
2 ответа

Передать параметры в Pimple->container->factory

Поэтому я в основном хочу сделать это: $this->container['Menu_builder'] = $this->container->factory(function ($c) { return new Menu_builder($parameter_1, $parameter_2); }); куда $parameter_1 а также $parameter_2 передаются от вызова, как эт…
16 май '15 в 22:43
4 ответа

Поддержка автозаполнения PhpStorm для неизвестных свойств объектов, управляемых Pimple?

У меня есть следующий код в приложении от Silex: $uknownObj->unkownRef $uknownObj будучи контейнером для инъекций зависимости. я знаю это unkownRef например MyCoolObj, Теперь, как я могу сказать IntelliJ / PhpStorm, чтобы он помог мне с автозапол…
26 янв '16 в 09:31
1 ответ

Сбой WebTestCase после обновления Silex 2

У меня есть следующая базовая девушка для тестов контроллера: public function createApplication() { include __DIR__ . '../web/index_dev.php'; $app['debug'] = true; $app['session.test'] = true; $app['helper'] = function ($app) { return new TestHelper…
06 июн '16 в 13:30
1 ответ

Инъекция прыщей и динамических конструкторов

У меня вопрос по поводу Pimple и динамического конструктора. Скажем, у меня есть MVC-фреймворк, и я хочу сделать что-то вроде загрузки изображений. Полу-DI способ сделать это будет так: class ImageUploadController { public function upload() { $targe…
01 дек '13 в 07:23
1 ответ

Сервис Silex - параметр $app или оператор "use ($app)"?

Если я определю службу в приложении Silex, я могу либо ожидать, что основной контейнер (Приложение) будет передан в качестве параметра, либо взять его из текущей области, используя инструкцию "use ($app)". Официальная документация по адресу http://s…
1 ответ

Контейнер инъекции зависимостей PHP с фабрикой

Я работаю с silexphp/Pimple Dependency Injection Containers (DIC) и я не уверен, как обращаться с тем, что будет классическим шаблоном Factory. Пример: Родительский класс Animal.php имеет два дочерних класса DogAnimal.php а также CatAnimal.php, Коли…
06 апр '16 в 13:06
1 ответ

Почему фабричный метод Pimple возвращает тот же экземпляр?

Я использую фабричный метод Pimple, но он каждый раз возвращает один и тот же экземпляр. $container = new \Pimple\Container(); echo '<pre>'; $container['test'] = $container->factory(function( $c ) { $services = new \Pimple\Container(); retu…
20 мар '16 в 21:51
0 ответов

Silex/Pimple: параметр приложения не обновляется мгновенно промежуточным ПО

Я использую контейнер Silex/Pimple для хранения параметров для моего приложения. Некоторые из этих параметров устанавливаются с помощью промежуточного программного обеспечения. Теперь я столкнулся с проблемой, когда я хочу получить доступ к значению…
19 июн '15 в 16:41
1 ответ

Обновление используемой версии прыща в приложении Silex

В настоящее время я создаю приложение с использованием Silex 1.3. Я хочу использовать поставщика услуг доктрины dflydev. Для этого поставщика услуг необходим pimple >=2.1 - но моя версия Silex поставляется с pimple 1.x. Я пытался установить более но…
23 июл '15 в 08:03
1 ответ

Интерфейс конфликтует с PHP Pimple

У меня есть собственный класс, который расширяет Pimple\Container. Идея заключалась в том, чтобы обернуть, на мой взгляд, уродливые методы доступа к определенным службам (см. Ниже): offsetGet($key) -> get($key) offsetSet($key, $val) -> set($ke…
20 июл '16 в 14:13
1 ответ

Правильный способ использования контейнера зависимостей Slim

Согласно http://www.slimframework.com/docs/tutorial/first-app.html, сначала создается тонкий объект, а затем получается контейнер и к нему добавляются сервисы. $app = new \Slim\App(["settings" => $config]); $container = $app->getContainer(); $…
24 сен '16 в 19:15
1 ответ

Передача статических классов через Dependancy Injection

Как можно передать статический класс в объект через Dependency Injection? Например, Carbon использует статические методы: $tomorrow = Carbon::now()->addDay(); У меня есть службы, которые зависят от Carbon, и в настоящее время я использую библиоте…
16 дек '16 в 12:40
2 ответа

Как интегрировать прыщ в пользовательские рамки MVC?

У меня есть базовый фреймворк, похожий на mvc, и я хотел бы использовать pimple для внедрения зависимости, но я не знаю, как использовать его внутри фреймворка. Это моя структура приложения. x-framework - config - app controller homeController.php -…
1 ответ

Понимание исходного кода PHP прыщ

Pimple - это простой контейнер для внедрения зависимостей в php, используемый в silex framework. Я шел через исходный код здесь. В документации функция offsetGet возвращает тот же экземпляр класса, который присоединен к контейнеру зависимостей. соот…
25 ноя '13 в 14:17
0 ответов

Использовать Pimple в качестве DI-контейнера и издеваться над phpunit?

Я ползаю в Интернете много времени, но не могу найти ответа на свой вопрос. Я начал новый проект, и я использую Pimple для управления DI. Конечно, я хочу протестировать свои классы, и мне нужен Mock для одного. Проблема в том, что с классическим мет…
1 ответ

PHP Ленивая загрузка с Pimple Dependency Injection Container?

Недавно я начал использовать Pimple (вместе с Silex). В зависимости от того, как используется Pimple, это может быть либо локатор службы, либо контейнер внедрения зависимости. Мне известны причины, по которым следует избегать шаблона Service Locator…
05 ноя '14 в 23:12
0 ответов

Как я могу использовать зависимости в DIC с прыщами, которым нужны аргументы конструктора в Slim 3?

Этот вопрос, вероятно, лучше всего объяснить некоторыми фрагментами кода. Сначала я создаю фабричный метод в контейнере pimple для создания или возврата объекта Blah: $container['blah'] = $container->factory(function ($c) { return new Blah(); });…
09 сен '16 в 07:49
0 ответов

Внедрение в конструктор при использовании прыщей

Фон. Я использую Slim, где идентификатор находится либо в конечной точке, либо в параметрах. На основе идентификатора фабрика создает соответствующий объект для выполнения необходимого действия. У меня есть сервис, которому нужны данные, полученные …
27 июн '18 в 13:31