在 Laravel Controller 中导入 Laravel Avored Package Controller

Importing Laravel Avored Package Controller in Laravel Controller

我正在尝试扩展我的基础 laravel 控制器中的包控制器。尝试使用以下代码导入 class,该代码显示错误 class 未找到。

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Controllers\ProductController as ControllersProductController;
use App\Imports\ProductsImport;
use AvoRed\Framework\AvoRedProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel;
use Avored\Framework\Catalog\Controllers\ProductController;

class ProductControllers extends Controller
{

    private $avored_product;

    public function __construct(ProductController $p) {
        $this->avored_product = $p;
    }

    public function index() {
        echo $this->avored_product;
    }

通过研究尝试了多个选项,但找不到相同的选项。请大家指导我。

您能否与我们分享确切的错误消息?从您的代码片段中,我看不出哪个 class 找不到。

您指的是哪个 Avored 套餐?我猜 avored-laravel-ecommerce?

如果你想扩展包中的 ProductController,你已经从那个控制器中正确地 extend

<?php

namespace App\Http\Controllers\Admin;

use Avored\Framework\Catalog\Controllers\ProductController as AvoredProductController;

class ProductControllers extends AvoredProductController
{
    public function index() {
        // Do your thing in here
    }
}

您现在可以根据自己的喜好覆盖控制器方法。