eviweb / composer-wrapper
PHP 5.3 的 Composer 包装器
1.0.7
2020-08-18 13:52 UTC
Requires
- php: >=5.4.0 <7.5
Requires (Dev)
- phpunit/phpunit: ~4
This package is auto-updated.
Last update: 2024-09-17 21:00:44 UTC
README
本项目旨在提供一种方法,即使未安装Composer,也能在脚本中使用Composer。
如何安装
您可以选择以下方式之一
- 克隆此仓库
git clone https://github.com/eviweb/composer-wrapper.git
- 通过在您的 composer.json 文件的 require 部分添加
"eviweb/composer-wrapper" : "1.*"
来使用 composer - 直接下载 Wrapper.php
- 动态安装 见下文
如何使用
包含包装器
首先,您需要根据之前的安装选择将包装器包含到您的代码中
- 添加
require_once 'PATH_TO_COMPOSER_WRAPPER_DIRECTORY/src/evidev/composer/Wrapper.php';
,其中 PATH_TO_COMPOSER_WRAPPER_DIRECTORY 是克隆仓库的路径 - 添加
require 'vendor/autoload.php';
,请参阅Composer 文档 - 添加
require_once 'PATH_TO_COMPOSER_WRAPPER_FILE';
,其中 PATH_TO_COMPOSER_WRAPPER_FILE 是 Wrapper.php 文件的路径 - 添加
$wrapper_file = sys_get_temp_dir() . '/Wrapper.php'; if (!file_exists($wrapper_file)) { file_put_contents( $wrapper_file, file_get_contents('https://raw.github.com/eviweb/composer-wrapper/master/src/evidev/composer/Wrapper.php') ); } require_once $wrapper_file;
使用包装器
- 对于命令行使用,只需将
exit(\evidev\composer\Wrapper::create()->run());
添加到您的可执行脚本中即可 - 如果您想在脚本体中使用它,并传递特定参数到 Wrapper::run() 方法,您需要像以下这样做
$wc = \evidev\composer\Wrapper::create(); $exit_code = $wc->run("COMPOSER_OPTION_OR_COMMAND_AS_STRING"); // add more code here for example exit($exit_code);
其中 COMPOSER_OPTION_OR_COMMAND_AS_STRING 是 composer 选项或命令
工作原理
包装器在创建时下载 composer.phar
文件。
默认情况下,composer.phar
下载到 sys_get_temp_dir()
,但您可以通过传递路径作为 Wrapper::create()
的参数来指定目标目录。
如果此参数为空字符串或目录不存在,则使用 sys_get_temp_dir()
作为后备。
在多个包装器实例的情况下(这种情况不应该发生),使用第一个下载的 composer.phar
。