php - 如何使用 Laravel IoC 将数据库注入(inject)构造函数

标签 php laravel pdo laravel-4 inversion-of-control

我想使用 DB 类与 IoC 容器进行事务处理。

use Illuminate\Database\Connection as DB;
public function __construct(DB $db)
{
    $this->db = $db;
}

但是当使用 db 类时,我得到了一个错误。
Unresolvable dependency resolving [Parameter #0 [ <required> $dsn ]] in class PDO

我知道,必须绑定(bind)一些东西,但我不知道是什么?

最佳答案

你需要改变

use Illuminate\Database\Connection as DB;

进入
use Illuminate\Database\DatabaseManager as DB;

我以为你可以使用 DB门面在这里,但实际上你不能。您需要在此处显式传递位于外观后面的类,查看 http://laravel.com/docs/4.2/facades#facade-class-reference

关于php - 如何使用 Laravel IoC 将数据库注入(inject)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355695/

相关文章:

php - 重定向到资源路由时路由不存在 [Laravel]

php - MySQL 特定列的查询错误

php - 当我调用类中的方法时出错

php - UTF-8 换行符出现在 phpMyAdmin 中,但不出现在网页上

php - Laravel 测试路由授权,中间件授权问题

php - 当字符串绑定(bind)时,将 WHERE IN (...) 与 PDO 结合使用不起作用

php - 我们可以将@yield 的值存储在变量中吗

php - 如何在 Laravel 中提供多个静态文件夹?

php - 如何在不同的文件中使用 PDO 连接对象

php - PDO 返回不正确但重复的数据。 key 不在数据库中。