eviweb/composer-wrapper

PHP 5.3 的 Composer 包装器

1.0.7 2020-08-18 13:52 UTC

This package is auto-updated.

Last update: 2024-09-17 21:00:44 UTC


README

本项目旨在提供一种方法,即使未安装Composer,也能在脚本中使用Composer。

Build Status

如何安装

您可以选择以下方式之一

  1. 克隆此仓库 git clone https://github.com/eviweb/composer-wrapper.git
  2. 通过在您的 composer.json 文件的 require 部分添加 "eviweb/composer-wrapper" : "1.*" 来使用 composer
  3. 直接下载 Wrapper.php
  4. 动态安装 见下文

如何使用

包含包装器

首先,您需要根据之前的安装选择将包装器包含到您的代码中

  1. 添加 require_once 'PATH_TO_COMPOSER_WRAPPER_DIRECTORY/src/evidev/composer/Wrapper.php';,其中 PATH_TO_COMPOSER_WRAPPER_DIRECTORY 是克隆仓库的路径
  2. 添加 require 'vendor/autoload.php';,请参阅Composer 文档
  3. 添加 require_once 'PATH_TO_COMPOSER_WRAPPER_FILE';,其中 PATH_TO_COMPOSER_WRAPPER_FILEWrapper.php 文件的路径
  4. 添加
$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;    

使用包装器

  1. 对于命令行使用,只需将 exit(\evidev\composer\Wrapper::create()->run()); 添加到您的可执行脚本中即可
  2. 如果您想在脚本体中使用它,并传递特定参数到 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