2013-11-26 3 views
3

У меня есть файл composer.json в корне, который выглядит следующим образом (после выполнения this guide):Yii 1.1.14 с композитором автозагрузку

{ 
    "repositories": [{ 
    "type":"composer", 
    "url": "http://packages.phundament.com" 
    }], 

    "require": { 
    "php": ">=5.3.2", 
    "yiisoft/yii": "1.1.*", 
    "yiiext/migrate-command": "0.7.2", 
    "thyseus/yii-user-management": "0.8" 
    }, 

    "autoload": { 
    "psr-0": { "config": "./" } 
    }, 

    "scripts": { 
     "pre-install-cmd": "config\\ComposerCallback::preInstall", 
     "post-install-cmd": "config\\ComposerCallback::postInstall", 
     "pre-update-cmd": "config\\ComposerCallback::preUpdate", 
     "post-update-cmd": "config\\ComposerCallback::postUpdate", 
     "post-package-install": ["config\\ComposerCallback::postPackageInstall"], 
     "post-package-update": ["config\\ComposerCallback::postPackageUpdate"] 
    } 
} 

Мой конфиг/console.php также включает в себя следующее:

'params' => array(
    'composer.callbacks' => array(
     // args for Yii command runner 
     'yiisoft/yii-install' => array('yiic', 'webapp', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'), 
     'post-update' => array('yiic', 'migrate'), 
     'post-install' => array('yiic', 'migrate'), 
    ), 
), 

Я получаю следующее сообщение об ошибке, однако, когда я пытаюсь запустить composer install:

класса Config \ ComposerCa llback не является автозагружаемым, не может вызвать сценарий pre-update-cmd

Я понимаю, что это, вероятно, что-то маленькое, что я забыл, любая помощь будет оценена!

+0

Итак, есть файл в пути 'config/ComposerCallback.php', который содержит конфигурацию пространства имен; class ComposerCallback {} '? – Sven

+0

Я предположил, что это было что-то сделанное Yii, поскольку руководство не упоминает об этом вообще (мой первый раз пишу приложение Yii). –

+0

В руководстве есть ссылка на содержимое демонстрационного файла, который, как представляется, делает некоторые основные вещи. Я думаю, вы должны скопировать его. – Sven

ответ

1

Похоже, вы используете раннюю версию Phundament, например this one.

Ваши обратные вызовы композитора пытаются вызвать методы в классе ComposerCallback, который - в вашем случае - должен быть в <project-folder>/config.

Вы можете использовать файл сверху и поместить его туда или захватить a more recent version из phundament/приложение и поместить файл в <project-folder>/src/Phundament и обновить корень composer.jsonautoloading section в соответствии с новым расположением файла.

Смежные вопросы