Laravel 4.2包括作曲家更新前的提供者

时间:2015-02-26 08:34:06

标签: php laravel laravel-4 composer-php

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

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

每次我运行一个作曲家更新它的档位,说我的班级不可用:

Error Output: PHP Fatal error:  Class My\Custom\Provider  not found in ProviderRepository.php on line 157

必须有一种方法可以让我的提供程序在app配置中运行,并且仍能运行composer update,否则很难自动部署我的代码?

修改 我现在所做的是从app.php评论提供者,运行composer update,然后重新启用提供程序,一切运行正常。

修改 这是我的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 个答案:

答案 0 :(得分:0)

我想建议一些方法来解决这个问题。 1.请确保提供程序名称中没有拼写错误,并且命名空间是正确的,如评论中的“Quasdunk”所示。 2.如果您的计算机上安装了composer,请执行以下命令:

composer dump-autoload  

它将自动加载您的所有类。可能它会帮助你。