问题标签 [laravel-ioc]

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 回答
346 浏览

laravel - 在存储库中注入

我发现了很多关于我的问题的问题并尝试了(我认为)所有的解决方案,但我无法让它发挥作用。我可能忽略了一些非常容易的事情。

我正在使用 Laravel 5。我尝试实现存储库模式。我有一个 Eloquent 模型 '\Notos\Kind'。

然后我有这个界面:

我的存储库如下所示:

我的服务提供商:

还有我使用存储库的控制器:

此提供程序在 config/app.php 中注册

当我尝试执行 KindController@find 时,出现此错误:

我找不到我做错了什么。如果我将 __construct(Model $kind) 更改为 __construct(Kind $kind),它会完美运行。

有任何想法吗?谢谢

0 投票
12 回答
103756 浏览

php - Laravel 5 - 接口不可实例化

我知道这个问题被问了很多次,但没有一个答案对我有帮助。

我在 Laravel 5 中遇到了异常

我所做的没有成功:

  • App\Providers\AppRepositoryProviderapp.php提供者中注册
  • php artisan clear-compiled
  • 如果我在 MyService 中替换存储库上的接口,一切正常,但我觉得这是错误的(应该由 IoC 容器处理吗?)。

结构:

App\Contracts\CustomModelInterface.php

App\Repositories\CustomModelRepository.php

App\Services\MyService.php(在控制器和存储库之间保留业务逻辑/层)

App\Providers\AppRepositoryProvider.php

我的控制器看起来像:

作曲家.json

0 投票
2 回答
1374 浏览

php - 覆盖日志接口容器绑定 lumen 5.0

我正在尝试覆盖 lumen 写入日志的位置,从“storage/logs/lumen.log”到“php://stderr”。以下代码是我目前正在尝试的,它没有按预期工作。

没有抛出错误,我的日志仍然写入默认位置(在 storage/logs 文件夹中)。

当我这样做时:

我得到了默认实现。

我是否误解了文档,还是我以错误的方式处理这个问题?

0 投票
1 回答
2535 浏览

php - 流明上传文件错误

我使用 laravelUploader 包从这个链接上传我的文件。当我使用这个包在流明中发送文件时,代码如下:

我收到一个错误,例如:

现在我该如何解决?

0 投票
1 回答
281 浏览

laravel - Laravel IoC 不会自动解析接口

我刚刚遇到了这个例子,但它无法将绑定接口解析为实现。

具有以下代码文件:

绑定发生在app/Providers/AppServiceProvider.php

MakeSomeNoise作业是从控制器分派的

在 (*) 处,我希望 Laravel 会自动解析绑定,但它不会。这里的错误,

但如果我只是注入控制器构造函数,它工作正常。

对此有什么想法吗?

0 投票
0 回答
96 浏览

laravel-5 - 如何将参数从resolve()传递给give()中指定的回调?

A 类的构造函数需要 B 类的实例,而 B 类的构造函数又接受一个可选的字符串参数。

我希望能够在解析 A类时为 B 类构造函数指定该字符串参数的值。我在我的服务提供者中执行类似的操作:

然后像这样获取 A 的实例(假设 A 已绑定到容器中的 AInterface ):

0 投票
1 回答
1079 浏览

php - 如何根据 laravel 中的类型实例化类?

所以我有一个BaseValuation抽象类,它是实现示例FooValuationBarValuation.

我想根据使用输入实例化Foo或实现。Bar所以我自己创建了一个简单的类Valuation,它只是这样做:

使用它我可以简单地做(new App\Valuation\Valuation($id, $type))->make(),我会根据用途要求得到所需的实现。

但我知道 laravel 的容器很强大,必须让我以某种方式做到这一点,但我不明白如何做到这一点。有什么想法吗?

0 投票
0 回答
63 浏览

laravel - 如何为 Laravel 中的一个类提供多种实现?

我们正在使用一些地理编码来编码一些条目。根据某些条件,我们希望从一个实现切换到另一个(不同的提供者)。

当前服务提供商声明:

当前注入:

目标是实现这样的目标:

我试图通过为我的替代方案制作一个假的子类来破解它Geocoder,不幸Geocoder\StatefulGeocoder的是final。所以这不是一个解决方案。

编辑

Geocoder似乎支持多个提供商,所以这应该解决它。我把这个问题留了下来,因为我认为一个一般性的答案是相关的。

0 投票
2 回答
501 浏览

php - 如何将实现数组注入PHP中的构造函数

如何通过构造函数将实现数组注入类。我正在分享 C# 的链接。我想在 php 中实现相同的目标。

如何在 php.ini 中实现相同的功能。

https://stackoverflow.com/a/13383476/1844634

提前致谢。