找不到新创建的 Laravel 包的类 'VendorPackageNameClassName'



我在运行新创建的Laravel软件包时遇到问题,请查看 https://github.com/Younesi/laravel-aparat

我可以通过作曲家下载它没有问题,它通过 Laravel 自动发现,但是当我尝试使用它时,它会给我以下找不到类的错误。

未找到类 'Younesi\LaravelAparat\Aparat'

我的服务提供商代码如下所示:

/**
 * Register the service provider.
 *
 * @return void
 */
public function register()
{
    $this->app->bind('aparat', function ($app) {
        return new Aparat;
    });
}
/**
 * Get the services provided by the provider.
 *
 * @return array
 */
public function provides()
{
    return array('aparat');
}

任何帮助将不胜感激。

查看包,它工作正常,在该包composer.json有:

 "autoload": {
    "psr-4": {
      "Younesi\laravelAparat\": "src"
    }
  },

请注意,laravel在这里没有大写字母,因此在代码中,您应该以这种方式导入:

use YounesilaravelAparatAparat;

而不是:

use YounesiLaravelAparatAparat;

我也看到你是这个包的作者,所以我建议使用标准转换(命名空间以大写字母开头)而不是当前命名空间。

进一步查看包代码,我还看到在服务提供商中有:

namespace YounesiLaravelAparat;

命名空间,所以这没什么奇怪的,如果你用小写字母自动加载它并且用大写字母命名,它将无法工作

在某些情况下存在注册问题、缓存问题等。 请尝试以下解决方案之一:

  • 注册你的提供程序(在 main composer.json 中,然后在 config/app.php [provider & alias] 中),然后运行composer dump-autoload
  • 确保您已启动包:转到文件夹,然后composer init
  • 尝试php artisan config:cache或删除bootstrap/cache/中的所有内容

相关内容

  • 没有找到相关文章

最新更新