【发布时间】:2015-06-01 01:47:24
【问题描述】:
我刚刚使用 Composer 创建了我的第一个 PHP 包,但遇到了问题。
目前我正在开发一个包,他的主类从另一个包中扩展了一个类,所以在我的 composer.json 上,我将要扩展的包声明为要求:
"require": {
"php": ">=5.3.0",
"ext-mbstring": "*",
"author/BasePackage": "dev-master"
},
而且,如果我发出composer update,我会在我的项目中获得一个不错的vendor 目录,其中下载了author/BasePackage 依赖项。
所以我的问题是,在我的主类文件src\Extended.php 上,我需要手动执行require_once __DIR__ . "/../vendor/autoload.php"; 之类的操作,以便自动加载BasePackage,这样我就可以执行class Extended extends \BasePackage\BasePackage。
这样好吗?我应该如何加载我的包依赖项?当我将此包提交到 GitHub 左右时,我会忽略 vendor 目录,如果有人通过在他们的项目中要求它来使用它,require_once __DIR__ . "/../vendor/autoload.php"; 将会失败,因为它不会是我期望的位置。
我应该怎么做?
谢谢。
【问题讨论】:
标签: php dependencies composer-php