在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP/ [已解決]composer不能引入本地的三方代碼?

[已解決]composer不能引入本地的三方代碼?

引入本地包時(shí)是需要在repositories依賴?yán)锾顚?xiě)完整的包路徑(包c(diǎn)omposer.json的相對(duì)目錄),而不是只填寫(xiě)包目錄所在位置,

所以我把主項(xiàng)目的composer.json改成這樣就好了:

    "repositories": {
        "upacpsdk": {
            "type": "path",
            "url": "local3rdpackages/upacp"  //<---這里不能只寫(xiě)local3rdpackages,而要寫(xiě)本地包完整路徑
        },
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }

最后執(zhí)行下require就可以了:

composer require upacp/sdk:dev-master -vvv

=======下面是原問(wèn)題描述=========

我要引入銀聯(lián)的sdk,于是寫(xiě)了下面這種目錄結(jié)構(gòu):
圖片描述

這里local3rdpackages目錄是與主項(xiàng)目的composer.json在同一個(gè)目錄級(jí)別下,我給三方庫(kù)添加的composer.json文件代碼如下(主要是為了inlcude acp_service.php文件)

{
  "name": "upacp/sdk",
  "autoload": {
    "files": [
      "acp_service.php"
    ],
    "extra": {
      "branch-alias": {
        "dev-master": "1.0-dev"
      }
    }
  }
}

主項(xiàng)目的composer.json文件里導(dǎo)入local3rdpackages目錄下包的代碼如下

    "repositories": {
        "0": {
            "type": "path",
            "url": "local3rdpackages/*/*",
            "options": {
                "symlink": false
            }
        },
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }

但是還是沒(méi)有效果啊,我應(yīng)該怎么做?

回答
編輯回答
落殤

原來(lái)是新版本composer的path類型. 剛看完文檔.

2018年8月8日 07:54
編輯回答
大濕胸
    "autoload": {
        "psr-4": {
            "App\\Controller\\": "app/controller",
            "App\\Model\\": "app/model"
        }, //自動(dòng)加載規(guī)范。key為項(xiàng)目中引用類時(shí)的namespace,value為自定義類namespace。要注意key中需要兩個(gè)\\
        "files":["app/controller/index.php"], //引入單個(gè)文件
        "classmap":["app/controller"] //引入文件夾下所有文件
    }

以上三中方式都可以映入自定義類或者函數(shù)。
然后在執(zhí)行 composer update

2018年9月5日 06:09
編輯回答
尛曖昧
執(zhí)行composer dump-autoload
然后查看/vendor/composer/autoload_files.php中生成的文件映射是否正確
2018年6月1日 06:22