【问题标题】:laravel - Custom class not foundlaravel - 未找到自定义类
【发布时间】:2018-06-13 04:55:25
【问题描述】:

我想创建我的自定义存储库类,因此我创建了扩展抽象类的存储库类(带有基础、模型方法):
BoardCategoryRepository

namespace App\Repositories\Board;

use App\Repositories\Repository;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

class BoardCategoryRepository extends Repository
{
    public function getAllCategoriesWithBoards(): Collection
    {
        return DB::table('board_category')
            ->join('board', 'board_category.id', '=', 'board.category_id')
            ->get()
        ;
    }
}

HomeController

namespace Community\Http\Controllers;

use App\Repositories\Board\BoardCategoryRepository;
use Community\BoardCategory;
use function compact;
use Illuminate\View\View;

class HomeController extends Controller
{
    /**
     * @var BoardCategoryRepository
     */
    protected $boardCategoryRepository;

    public function __construct(BoardCategory $boardCategory)
    {
        $this->boardCategoryRepository = new BoardCategoryRepository($boardCategory);
    }
}

composer dump-autoload 但我收到错误Class 'App\Repositories\Board\BoardCategoryRepository' not found - 为什么?

【问题讨论】:

  • 确保路线正确
  • 您没有包含文件名。您确定文件名称正确(字母大小写有效)并且位于有效目录中吗?

标签: php laravel laravel-5


【解决方案1】:

您的存储库的命名空间是App\Repositories\Board,但您的控制器的命名空间是Community\Http\Controllers。实际上应该是Community\Http\Controllers

或者,检查您的 composer.json 并查找 PSR-4 部分检查以查看 App 已在此处注册。例如;

 "psr-4": {
      "App\\": "app/"
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 2020-02-05
    • 2018-05-03
    相关资源
    最近更新 更多