dsgdf45654 2014-06-21 20:43
浏览 40
已采纳

Composer不会更新自动加载名称空间

Composer not updating autoload_namespaces.php file, despite downloading package normaly. Can't understand where i did a mistake. If i load something from packagist, namespaces file updating successfully.

Project structure

Structure

Main Composer.json

{
    "repositories":[
        {
            "type": "package",
            "package": {
                "name": "test/framework",
                "version": "1.0.0.1",
                "dist": {
                    "url": "http://localhost/repo/1.zip",
                    "type": "zip"
                }
            }
        }
    ],

    "require": {
        "test/framework": "*"
    }
}

Package composer.json

{
    "name": "test/framework",
    "type": "library",
    "require": {
        "php": ">=5.2.4"
    },
    "autoload": {
        "psr-0" : {
            "Test" : "lib/"
        }
    }
}

autoload_namespaces.php

<?php

// autoload_namespaces.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
);
  • 写回答

2条回答 默认 最新

  • dtnrsmi824877 2014-06-24 01:57
    关注

    You are downloading the package defined in the repositories via zip.

    https://getcomposer.org/doc/05-repositories.md#package-2

    In this case I feel you should define the package definition at the same place. See the above link for the example which contains autoload definition defined.

    {
        "repositories":[
            {
                "type": "package",
                "package": {
                    "name": "test/framework",
                    "version": "1.0.0.1",
                    "dist": {
                        "url": "http://localhost/repo/1.zip",
                        "type": "zip"
                    },
                    "autoload": {
                        "psr-4" : {
                            "Test\\": "lib"
                        }
                    }
                }
            }
        ],
    
        "require": {
            "test/framework": "*"
        }
    }
    

    You can also try some variation see my post over http://harikt.com/blog/2014/05/29/hidden-gems-of-composer/

    PS : psr-4 is the recommended way for it can autoload psr-0 structured classes. See https://getcomposer.org/doc/04-schema.md#autoload

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面