Laravel 4.2在composer更新之前包含提供程序


Laravel 4.2 include provider before composer update

我写了一个自定义的Laravel模块,我将它包含在我的app.php中,如下所示:

    'providers' => array(
        'Illuminate'Foundation'Providers'ArtisanServiceProvider',
        'Illuminate'Auth'AuthServiceProvider',
        'My'Custom'Provider'
    );

每次我运行一个composer更新它的档位,说我的类不可用:

Error Output: PHP Fatal error:  Class My'Custom'Provider  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  

它将自动加载您的所有类。也许它会对你有所帮助。