类App \ Repositories \ UserRepository不存在

时间:2016-01-08 08:34:16

标签: php laravel laravel-5 repository laravel-5.1

<?php

namespace App\Http\Controllers;


use Illuminate\Contracts\Auth\Guard;
use Laravel\Socialite\Contracts\Factory as Socialite; 
use App\Repositories\UserRepository;


class SocialController extends Controller
{
    /**
     * Redirect the user to the GitHub authentication page.
     *
     * @return Response
     */

    private $socialite;
     private $auth;
     private $users;

     public function __construct(Socialite $socialite, Guard $auth, UserRepository $users) {   
        $this->socialite = $socialite;
        $this->users = $users;
        $this->auth = $auth;
    }
}

这是我的控制器。当我加载此控制器时,它显示错误,如

  

“Container.php第791行中的ReflectionException:Class App \ Repositories \ UserRepository不存在”。

有人能建议我解决方案吗?

10 个答案:

答案 0 :(得分:2)

可能是命名空间问题

检查$('#sent-mails .cp-exp-con ul li').click( function(){ alert($(this).parents('.subs-alrts').parent('div').find('.email-con').show().html()); }); 文件类的路径。它应该是:

UserRepository

在类文件中,您需要使用此命名空间:

app/Repositories/UserRepository.php

这应该有效

答案 1 :(得分:1)

我的存储库中发生了导致此错误的致命错误。花了我几个小时才弄明白.....

答案 2 :(得分:0)

您希望composer dump-autoload,它会解决您的问题 假设您正确拥有所有名称空间/类名

答案 3 :(得分:0)

发生此类错误时我遇到的奇怪之处是我在关键字namespaceApp\Repositories;之间有空格一旦删除,它一切正常!

答案 4 :(得分:0)

以防万一,删除供应商文件夹并重新安装作曲家

   composer install

答案 5 :(得分:0)

确保您的类名称空间正确,或者您也可以在下面运行此命令

composer dump-autoload

答案 6 :(得分:0)

如果该类中存在某些语法错误,则消息与未找到的类相同。

答案 7 :(得分:0)

如果有人遇到此错误。我认为,如果您的存储库类无法访问您的模型,则可能会出现此错误,只需在顶部添加use App\User;,该错误就会消失。

答案 8 :(得分:0)

当我尝试重新安装Bagisto(在Laravel上)时遇到了这样的问题。我删除了项目根目录中的.env文件,这解决了问题。

答案 9 :(得分:0)

更改您的 composer.json 文件。

“自动加载”:{

 "autoload": {
    "classmap": [
       "database",
       "app/Repositories"
 ],

作曲家转储自动加载

=> 完成