我写了一个自定义的Laravel模块,我将它包含在我的app.php中,如下所示:
'providers' => array(
'IlluminateFoundationProvidersArtisanServiceProvider',
'IlluminateAuthAuthServiceProvider',
'MyCustomProvider'
);
每次我运行一个composer更新它的档位,说我的类不可用:
Error Output: PHP Fatal error: Class MyCustomProvider not found in ProviderRepository.php on line 157
必须有一种方法让我的提供者在应用程序配置中,并且仍然能够运行composer更新,否则真的很难自动部署我的代码吗?
编辑我发现自己现在正在做的是从app.php中注释提供者,运行composer更新,然后重新启用提供者,一切都很好。
编辑这是我的bootstrap/start.php环境
$env = $app->detectEnvironment(array(
// Dev environments
'dev' => array('dev.xxx.com'),
// Live server catch
'live' => array('live.xxx.com'),
// EU Server catch
'eu.west.1.live' => array('eu-west-1.xxx.com'),
// US server catch
'us.west.1.live' => array('us-west-1.xxx.com'),
// Local test environments
'chris' => array('outrunthewolf-MacBook-Air', 'e7180623aa2e', 'precise64'),
// Local catch
'dev' => array('*')
));
我从作曲家那里自动加载
"autoload": {
"classmap": [
"app/commands",
"app/database/migrations",
"app/database/seeds",
"app/tests"
],
"psr-4": {
"": "app/controllers/",
"": "app/libraries/",
"Model\": "app/models/"
}
},
我想提出一些解决这个问题的方法。1.请确保提供程序名称中没有拼写错误,并且命名空间是正确的,正如"Quasdunk"在评论中所建议的那样。2.如果您的机器上安装了composer,请执行以下命令:
composer dump-autoload
它将自动加载您的所有类。也许它会对你有所帮助。