php - 与依赖注入(inject)的绑定(bind)不起作用。目标不可实例化

标签 php laravel laravel-4

所以这可能是一个简单的问题,但我已经忙了几个小时了。错误信息

Illuminate \ Container \ BindingResolutionException
Target [foo\repositories\OrderRepositoryInterface] is not instantiable.

我的界面:

<?php  namespace foo\repositories;

interface OrderRepositoryInterface
{

 public function index(array $dateRange = null, $customerId = null);

}

存储库:

<?php  namespace foo\repositories;
use Carbon\Carbon;
use Order;

class OrderRepository implements OrderRepositoryInterface
{


public function index(array $dateRange = null, $customerId = null)
{
    return 'HI';

}


} 

我的路线文件:

App::bind('foo\repositories\OrderRepositoryInterface.php',
          'foo\repositories\OrderRepository.php');


Route::resource('orders', 'OrdersController');

最后是 Controller :

<?php
use foo\repositories\OrderRepositoryInterface;

class OrdersController extends \BaseController
{

protected $order;

/**
 * @param OrderRepositoryInterface $order
 */
public function __construct(OrderRepositoryInterface $order)
{

    $this->order = $order;
}


public function index()
{
    $orders = $this->order->index();
    return $orders;
}

最佳答案

当您在 App::bind 中绑定(bind)界面和存储库时,尝试从界面和存储库中删除 .php More about binding here

App::bind('foo\repositories\OrderRepositoryInterface',
          'foo\repositories\OrderRepository');

关于php - 与依赖注入(inject)的绑定(bind)不起作用。目标不可实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311982/

相关文章:

laravel - 如何记录所有路由访问?

php - 如何在MySQL中插入时间格式

php - laravel 按日期检索记录

php - PayPal 沙盒计费协议(protocol)待定

laravel-4 - 使用 Laravel Forge 部署问题

php - Laravel 5 : How to avoid public folder, 试图从本地主机的根目录打开

php - 需要按 alpha 顺序垂直打印 5 列列表

php - 在列中显示 php-cli 输出

php - 将照片发布到 FB 导致需要上传文件错误

laravel - 在 Redis 中使用标签缓存键会降低性能