eviweb / composer-wrapper
Composer Wrapper for PHP 5.3
Installs: 8 185
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 3
Forks: 1
Open Issues: 2
Requires
- php: >=5.4.0 <7.5
Requires (Dev)
- phpunit/phpunit: ~4
This package is auto-updated.
Last update: 2024-11-17 21:20:41 UTC
README
This project aims to provide a way to use composer from within a script, even if it is not installed.
How to install :
You can choose between :
- clone this repo
git clone https://github.com/eviweb/composer-wrapper.git
- use composer by adding
"eviweb/composer-wrapper" : "1.*"
to the require section of your composer.json - directly download the Wrapper.php
- dynamic install see below
How to use :
Include the wrapper
First, you need to include the wrapper into your code, according to the previous installation choice :
- add
require_once 'PATH_TO_COMPOSER_WRAPPER_DIRECTORY/src/evidev/composer/Wrapper.php';
where PATH_TO_COMPOSER_WRAPPER_DIRECTORY is the path to the cloned repository - add
require 'vendor/autoload.php';
please refer to the Composer Documentation - add
require_once 'PATH_TO_COMPOSER_WRAPPER_FILE';
where PATH_TO_COMPOSER_WRAPPER_FILE is the path to the Wrapper.php file - add
$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;
Use the wrapper
- for a command line use, simply add
exit(\evidev\composer\Wrapper::create()->run());
to your executable script - if you want to use it in the body of your script, and pass specific arguments to the Wrapper::run() method you need to do as the following :
$wc = \evidev\composer\Wrapper::create(); $exit_code = $wc->run("COMPOSER_OPTION_OR_COMMAND_AS_STRING"); // add more code here for example exit($exit_code);
where COMPOSER_OPTION_OR_COMMAND_AS_STRING is a composer option or command
How it works
The Wrapper downloads the composer.phar
file when created.
By default the composer.phar
is downloaded in sys_get_temp_dir()
, but you can specify a target directory
by passing its path as a parameter of Wrapper::create()
.
If this parameter is an empty string or if the directory does not exist, sys_get_temp_dir()
is used as fallback
In case of use of many instances of the Wrapper, created with different directories (which should never happened),
the first downloaded composer.phar
is used.