问题标签 [service-provider]

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.

0 投票
1 回答
805 浏览

php - IDE 与 Laravel 的服务提供者自动完成

我最近开始使用 PhpStorm,但我认为问题不仅仅在于这个特定的 IDE。

它为自动完成功能提供了很大的帮助,但界面存在问题。我使用了与本视频中使用的完全相同的界面结构。代码运行良好,但 IDE 无法理解UserRepositoryInterface当前由EloquentUserRepository相关服务提供商定义为App::bind('UserRepositoryInterface', 'EloquentUserRepository')

我搜索了一会儿,但找不到任何解决方案。我如何告诉 PhpStorm 当我$this->table->在控制器中编写时,它应该从我的User.php模型中自动完成?

顺便说一句,我正在使用这个包:https ://github.com/barryvdh/laravel-ide-helper

0 投票
1 回答
1134 浏览

php - Laravel IOC 绑定 - 关闭与自动解析

我有一个关于 Laravel 的 IOC 绑定的问题,尤其是注册 Facade 访问器的 ServiceProviders。

遵循国际奥委会的官方文档

稍后你可以有一个 Facade,它只返回“foo”作为“FacadeAccessor”。

像这样重写这段代码不是更容易吗?

它给出了几乎相同的结果,因为字符串将自动包装到 Closure 中并通过 App::make() 解析。不仅如此 - 如果需要, Foo 构造函数可以进行依赖注入(据我所知,在第一种情况下您必须传递确切的对象,并且松散的自动解析)。

第二个选项看起来更干净,除非您在对象初始化之前需要一些额外的逻辑 - 比如传递数据,初始化其他服务/对象等 - 对我来说看起来更好。

也许有与此相关的性能问题?还是我错过了其他东西?

有趣的事实 - 在文档中,对于接口,Laravel 建议第二个选项而不是闭包,但对于 ServiceProviders - 直接对象初始化。

0 投票
1 回答
220 浏览

php - Laravel 4 将 Controller $this 传递给 ServiceProvider

我想$this从我的控制器传递给我的服务提供者,以便我可以将它与我的自定义类一起使用。这样,我可以参考我的控制器并输出成功。

控制器

服务提供者

自定义类

有了这段代码,我得到了Call to undefined method App\Libraries\Extensions\Filesystem\FilesystemServiceProvider::Success().

我相信 myService Provider $this是通过而不是 my Controller $this

如何将我的控制器传递$this给我的服务提供商,以便我可以打电话MyFacade::Bar($input)

0 投票
1 回答
2331 浏览

symfony - 是否可以将 jQuery DataTables 插件集成到具有学说 2 的 Silex 应用程序中?

我想用 Doctrine 2 将 jQuery DataTables 集成到 Silex 应用程序中。

有没有专门的服务提供者或对象?我正在寻找与此捆绑包(Symfony2)类似的东西:

https://github.com/stwe/DatatablesBundle

0 投票
0 回答
93 浏览

java - netbeans ServiceProvider 没有从方法返回变量

我正在使用 NetBeans 平台开发桌面应用程序。该应用程序会将地图放置在顶部组件中,用户可以在其上绘制布局和其他元素。元素存储在 hashmap 中。它们通过鼠标手势添加到哈希图中。

此时,我需要在 UI 上按下按钮时检索一个 hashmap 对象。按钮在 中moduleA,hashmap、映射和对象在 中定义moduleB。我正在尝试通过使用ServiceProvider模式来做到这一点。所以我的代码如下:

实现接口的类就是这么定义的,放在Module B中:

我希望在按下按钮时得到哈希图,但我总是得到一个空对象,尽管我可以看到哈希图不是空的。

谁能解释一下为什么?非常感谢

0 投票
1 回答
45 浏览

java - 哪些扩展/插件/提供者机制可用于使我的 Web 应用程序可扩展?

我正在开发一个能够从不同来源获取数据的 JavaEE Web 应用程序。数据将被提取并保存在数据库中,以供以后处理和报告。我从一个涵盖特定数据源的默认数据提供程序开始,但希望以一种我甚至其他人都可以为不同数据源编写数据提供程序/数据提供程序插件的方式设计应用程序架构。

服务提供者可以独立于核心应用程序来实现,并且可以打包在单独的 jar 中。一旦放到 Web 应用程序类路径中,提供者实现将被触发数据获取作业的应用程序核心识别为服务提供者。

我正在寻找一种实现此 SPI 或扩展点的标准方法,但它不会使我的应用程序代码膨胀。

我想到了“OSGI 扩展点”,但这更多用于 rcp 平台应用程序,而我的是一个 Web 应用程序。所以我暂时排除了。

我的第二个想法是预定义提供者接口的组合,然后使用自定义“提供者”注释来标记实现类(服务提供者)。

您可以推荐哪些机制/方法/框架来解决这个架构问题?

非常感谢和干杯,迈克尔

0 投票
2 回答
176 浏览

laravel - Laravel 自注册服务提供者

在 Laravel 4.2 中,是否可以创建一个自动注册 ServiceProvider 的包,而无需用户手动将路径添加到 app.php 文件中?

这样一来,composer update在将包添加到composer.json文件后就可以运行并准备就绪。

0 投票
2 回答
191 浏览

java - C++ 服务提供者如何扩展 Java 应用程序?

我正在使用服务提供者概念创建一个可扩展的 Java 应用程序。我有一个名为 PoolTuningStrategy 的抽象类,它是一项服务,我的应用程序的用户以扩展此 PoolTuningStrategy 类的服务提供者的形式提供他们的服务,用户以 jar 文件的形式提供他们的实现,我的应用程序使用 ServiceLoader 类来动态加载服务提供者如下

现在 strategy[] 包含所有实现集。现在我的问题是“如何创建一个扩展我的 Java 抽象类 PoolTuningStrategy 的 C++ 类,以便我可以使用 C++ 服务提供者。” 实际上,我希望我的应用程序能够被 Java 和 C++ 程序员扩展。我只使用 Java 完成了它,但我不知道如何通过 C++ 实现来扩展我的 Java 应用程序。

0 投票
0 回答
557 浏览

php - 在 Laravel 4 的 phpunit 测试中找不到 ServiceProvider

我是 laravel 4 的新手,我现在正在 Culttt.com 上关注 Laravel 教程。我在项目中添加了一个包并创建了一个外观来访问:Philipbrown/Suypo,它工作正常。

工作台\philipbrown\supyo\src\Philipbrown\Supyo\SuypoServiceProvider.phh

这是我的包的 composer.json 文件:

但是当我编写一些测试并使用 phpunit 运行它们时,它显示了这个错误:

致命错误:第 158 行的 C:\Dev\wamp\www\Culttt\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php 中找不到类 'Philipbrown\Supyo\SupyoServiceProvider'

我尝试运行命令:composer dump-autoload 但它不起作用。而且我没有在测试中调用或使用这个包,所以我真的不知道这里发生了什么,下面是我的test.php:

所以请给我一个关于发生了什么的想法。提前致谢。

这是github中的全部代码:https ://github.com/mc422/laravel.git

0 投票
1 回答
89 浏览

java - SP 元数据:属性 entityID 和 Location 中的物理地址

有关实体命名的文档中说,最好使用域名作为属性的值entityID

强烈建议不要使用运行 Shibboleth 的服务器的物理主机名作为entityID. 随着时间的流逝,事情会发生变化,并且部署可能并不总是在同一个盒子上。

此外,在单个物理服务器上可能有多个 Shibboleth 的逻辑部署,每个都需要自己唯一的entityID,因此使用服务器的名称不会扩展到单个之外。

和更多:

一些 Shibboleth 联盟对 . 的选择有严格的政策entityID,尽管这在 IdP 中比 SP 更常见。在其他联盟中,选择取决于联盟参与者,但运营商可能会强制执行基本约定或对明显糟糕的选择做出负面反应。一般来说,您应该咨询您计划加入的联盟,并遵循上述建议。

说规范:

OASIS 安全断言标记语言 (SAML)V2.0 的元数据

entityID[必需的] -

我的 SP 部署在沙箱中,没有域名。我可以在属性中使用物理地址(和端口)entityIDLocation