Open main menu

Intro

Composer is one of many Dependency managers. Composer makes it easier to distribute PHP code that relies on other code.

in MediaWiki

  1. mw:Composer is used in the MediaWiki engine to manage all core libraries and dependencies since version 1.25 (including composer-local.json)
    cd $IP
    cp composer.local.json-sample composer.local.json
    composer update --no-dev --dry-run
    
  2. mw:Composer/For extensions on using Composer to manage extensions
  3. mw:Manual:composer.json best practices for how to add Composer support to your extensions (including extension.json and skin.json)

Installation

Installing it on your own host would look something like this

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# now you can use it to do things like install the latest version of Drush
composer global require drush/drush:dev-master

while installing it on a shared host like WebFaction would be slightly modified

ln -s `which php54` ~/bin/php
curl -sS https://getcomposer.org/installer | php54
mv composer.phar ~/bin/composer
echo -e '\n# Composer\nalias composer="php54 $HOME/composer.phar"' >> ~/.bash_profile
source ~/.bash_profile
which composer
# now you can use it to do things like install the latest version of Drush
composer global require drush/drush:dev-master
drush --version

More

To use Composer in your PHP project, see this primer, plus Matthieu Moquet's "5 Features About Composer", and also this handy-dandy cheatsheet (with mouseovers!)