Class App\Http\Controllers\SocialFacebookAccountService 在 laravel 中不存在错误

Class App\Http\Controllers\SocialFacebookAccountService does not exist error in laravel

我正在使用 Socialite 登录我的 Facebook 用户。我已经完成了构建功能所需的所有过程。当我点击 "Login with Facebook" 时,它会在 facebook 上请求权限并授予权限,它也会将我重定向到一个错误。

这是错误 link: http://localhost:8888/under_dev/mytaswir/public/callback?code=AQDupltbruPf7MokV6N-Mlmrcmqu-QFeKyImrMz8Yp3ViAv128lZBDfPS88Su1q60o6EfFL0_KIy2YH7lztGJrdj0ZDUFZDjR2ucMobLpUGyzPc39ABElZBJko3llqB5xehmZxJMuay7lBHybZ7F6AMxrCN2H0bNhPFPts5_v6Zmb0kfFR7H2A-ha4EXbJzTX6Y98SY9G50HWP1v-KqcUt5ozXfsNIldR19O_dMCEunGLTsf2sKLK76ObEwPdERhW-XzhJv-IdzeHU-Ppw91TWYHjWvBbEajwQH9N-p91VjWNaede7zOKfCBYUiOedzlLRDfz1qv9QghjmceULRk-DwldD0hY1nBv_jSJwVtq_FLhQ&state=UkCIOpg6dqle5dStyvbgtc9se0OiLxGwqWUZyTli#=

这是错误截图: 它给出了一个错误:**Class App\Http\Controllers\SocialFacebookAccountService 不存在!

我已经按照此 article 上建议的方式制作了我所有的控制器、服务提供商、别名等。

请帮助我摆脱这个错误。我希望程序将我的 Facebook 用户登录到仪表板。

如果您想查看文件,请参阅此 git commit

提前致谢。

我认为您在这里缺少命名空间:https://github.com/KumarAbhirup/myTaswir/blob/c07b2b5a3dd38f70dd0f26eed2eeb983469993ab/app/Http/Controllers/SocialAuthFacebookController.php#L26

  /**
   * Return a callback method from facebook api.
   *
   * @return callback URL from facebook
   */
  public function callback(SocialFacebookAccountService $service)

此方法属于 App\Http\Controllers\SocialAuthFacebookController,因此当系统尝试从 "location" 解析 class 名称 SocialFacebookAccountService 时,结果将是 App\Http\Controllers\SocialFacebookAccountService,那是不存在的。

class实际上在命名空间\App\Services中,所以你也必须在这个地方使用它:

  public function callback(\App\Services\SocialFacebookAccountService $service)

编辑:修复了有关缺少前导 \ 的错误,以引用完全限定的命名空间