Yii 1.1.14与作曲家自动加载


Yii 1.1.14 with Composer autoload

我在根目录下有我的composer.json文件,它看起来像这样(在遵循本指南之后):

{
  "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"]
  }
}

我的config/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:时,我得到了以下错误

类配置'' ComposerCallback不可自动加载,无法调用预更新cmd脚本

我意识到这可能是我忘记的一件小事,任何帮助都将不胜感激!

看起来您使用的是Phundment的早期版本,比如这个。

您的composer回调正在尝试调用ComposerCallback类中的方法,在您的情况下,该类应该在<project-folder>/config中。

您可以使用上面的文件并将其放置在那里,或者从phundament/app获取更新的版本并将文件放置在<project-folder>/src/Phundament中,然后更新根composer.json自动加载部分以匹配新文件位置。