Mar*_*ney 2 typo3 composer-php typo3-6.2.x
为什么下面的根composer.json在结果vendor/composer/autoload_classmap.php包含所有的Smarty的类类的映射-虽然composer.json中typo3-ter/smarty不附带任何autoload配置?
{
"repositories": [
{
"type": "composer",
"url": "https://composer.typo3.org"
}
],
"require": {
"typo3/cms": "^6.2",
"typo3-ter/smarty": "2.1.2"
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
一些背景信息:
https://composer.typo3.org是一个作曲家存储库,它可以通过编辑器安装传统的 TYPO3扩展存储库(TER)扩展.由于TER分机没有一个供应商名称,所有的人共享同一个供应商,这是"TYPO3之三".
这个(遗留的)作曲家存储库是使用TER的元信息(与其他TER扩展和TYPO3版本,作者,描述......的依赖关系)构建的.
为了使此存储库对最终用户更有用,特别是因为TYPO3> 7.6在通过composer安装时完全依赖于composer自动加载器,因此完整的扩展目录将添加到composer类映射中.没有它,扩展类根本不可加载,没有任何额外的配置.
因为这可能会带来麻烦,所以我教TER在部分捕获来自composer.json的信息,以防该文件存在.这意味着如果存在composer.json 并且 它包含自动加载部分,则此部分用于在composer.typo3.org上为此扩展生成自动加载信息.
关于smarty扩展:
令人惊讶的是,这个扩展已经有一个composer.json文件.但它被打破了.首要的是:它错过了自动加载信息,尽管它显然有类可用.由于缺少自动加载信息,composer.typo3.org包生成器将完整目录添加为类映射.
如果这会导致麻烦(你从未提及过,但我认为是这样),你应该直接将repo作为"vcs"类型添加到你的composer.json中,并且需要"rtp/smarty"而不是"typo3-ter/smarty".
或者您要求作者修复composer.json并将新版本上传到TER,或者甚至更好地直接在packagist.org上注册该包
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |