问题标签 [pimple]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 疙瘩依赖注入静态或对象
Pimple 有助于跨应用程序重用相同的对象,并管理依赖关系。
但是如何管理疙瘩本身?
我应该创建一个全局对象吗?还是让它成为静态类?还是使用函数?
我想从任何地方访问 Pimple 方法、控制器、模型、插件等......
谢谢!!
php - 带有疙瘩的依赖注入 - 传递闭包
我有一个简单的应用程序,我正在尝试开始使用 DI 容器。我下载了 Pimple,研究了代码和文档。过了一会儿,我来了有趣的事情。我有两个类,在特殊情况下它们之间相互通信。
我已经定义了 Pimple 容器,有两个类,如下所示:
这是 var_dumped 容器:
问题是,当我创建使用 $container['foo'] 时,它尝试注入需要 foo 的类 Bar,因此最大嵌套存在错误。我的想法是,为什么没有通过关闭?在课堂上真正需要时会执行哪个?
还是我完全误解了闭包是什么?
php - PHP延迟加载与Pimple Dependency Injection Container?
最近我开始使用 Pimple(和 Silex 一起)。根据 Pimple 的使用方式,它可以是服务定位器或依赖注入容器。我知道应该避免使用服务定位器模式的原因。然而,似乎困扰我的一件事是创建依赖实例的那一刻。
在依赖注入的情况下,创建所需类的实例并将其传递给构造函数:
如果我们将容器本身传递给类构造函数,则在需要它们之前不需要创建依赖实例。
结果,即使我们只调用 Foo 类的两个方法之一,在第一个示例中,仍然会创建两个依赖实例。这段代码是一个非常简单的示例,但我希望在具有更多依赖结构的更复杂的类的情况下问题会增加。我确实注意到其他一些依赖注入容器使用代理类,但找不到该库的任何内容。有没有更好的选择来延迟加载 Pimple 的依赖项?
php - 如何在自定义 mvc 框架中集成 pimple?
我有一个类似 mvc 的基本框架,我想使用 pimple 进行依赖注入,但我不知道如何在框架内使用它。这是我的应用程序结构。
现在,homeController.php
我想使用 Pimple,但实际上并没有new Pimple
像这个例子中看到的那样做。
从这个例子中可以看出,在每个控制器上初始化 pimple 类将是一项非常繁琐的任务。这是如何正确完成的?
php - 如何使用 Pimple C 扩展
我安装了 Pimple C 扩展,并且在我的phpinfo()中我可以看到 Pimple 扩展处于活动状态。
我的 composer.json 中也有疙瘩/疙瘩,并且加载了 php 包。
据我所知,它们没有发生碰撞,因为我没有收到任何错误,但我怎么知道扩展程序正在使用中?
当我安装了 Pimple C 扩展时,我还需要 php Pimple 包吗?
C 扩展会默默地覆盖 php 类吗?
php 会首先检查 php 本身中是否存在类,然后回退到 php 实现,这是常见的行为吗?
php - Silex 服务 - $app 参数或“使用 ($app)”语句?
如果我在 Silex 应用程序中定义服务,我可以期望主容器(应用程序)作为参数传递,也可以使用“use ($app)”语句从当前范围获取它。
http://silex.sensiolabs.org/doc/services.html的官方文档有这个片段:
但它同样可以写成
我见过很多这样的代码示例。只是个人品味还是其中一个比另一个有好处,例如在性能、内存使用或代码隔离方面?
编辑: 我已经运行了“使用”与参数与简单函数的性能比较:
第一个是最慢的,但总体差异小于 25%。就像任何微优化一样,只有当你有成千上万个这样的优化时,它才会引人注目,因为最快和最慢之间的时间差约为 1/10,000,000 秒(100 万次重复为 0.05 秒)。
所以不应该考虑性能差异。
php - 将参数传递给 Pimple->container->factory
所以我基本上想这样做:
从调用传入的位置$parameter_1
和$parameter_2
位置,如下所示:
我知道上面的语法不正确,但我想将这些字符串传递给对$this->container->factory
.
这可能吗?
例如,如果我想从各种控制器函数中实例化 Menu_builder,每个控制器函数具有不同的参数。
php - Pimple 始终作为数组返回
我有这个特质
我有这个代码使用它(通过一个App
类)
我看到的是第一个var_dump
结果是一个array
,第二个是一个实例Pimple\Container
。
我期待它们都是同一个实例。有人能告诉我这里发生了什么吗?
php - 使用 Pimple 定义框架控制器的依赖项
所以我有一个控制器,我添加了它与 Pimple 的依赖项,如下所示:
当我转到此控制器中任何操作的 URL 时,它只会显示:
要加载任何具有依赖关系的类,我通常会说:
但我不确定在框架控制器的情况下将这个调用放在哪里。
控制器如下所示:
问题:我在这里做错了什么?以上适用于返回除控制器以外的任何类。