User Tools

Site Tools


php:composer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
php:composer [2016/07/14 20:01] – created mithatphp:composer [2016/07/14 20:22] (current) – [Specify your dependencies] mithat
Line 1: Line 1:
 ====== Composer ====== ====== Composer ======
 +[[https://getcomposer.org/|Composer]] is a PHP dependency manager. In other words, you (the developer) specify in a configuration file what PHP packages you want to use in your project, and Composer will automagically download the packages //as well as any other packages needed by the packages you listed//.
  
 +It also will generate an ''autoload.php'' file, which when ''require''d or ''include''d in your PHP script will automagicallay load all the packages it downloaded and let you refer to them using a standard namespacing scheme.
  
 +===== Init =====
 +
 +The starting point is a file called ''composer.json'' that exists in the root of your project. You can manually create ''composer.json'' or you can issue: <code bash>$ compser init</code> to have composer scaffold out a ''composer.json'' file for you.
 +
 +Once the ''composer.json'' file has been scaffolded out, you'll have to manually edit it to change it.((TODO: Is this true? Is there a composer command than will download a package and automatically add it to ''composer.json''?))
 +
 +===== Specify your dependencies =====
 +Assuming you have a scaffolded ''composer.json'' file:
 +<code json>
 +{
 +    "name": "mithat/foobar",
 +    "description": "A Composer example",
 +    "authors": [
 +        {
 +            "name": "Mithat Konar",
 +            "email": "no@you-dont-get-my-email-addy.com"
 +        }
 +    ],
 +    "require": {}
 +}</code>
 +
 +you specify packages you want to use (hereafter referred to as **dependencies**) as follows:
 +
 +TODO
 +
 +===== Using what Composer downloaded =====
 +TODO
 +
 +===== Specifying versions =====
 +TODO
 +
 +===== Development dependencies =====
 +TODO
 +
 +===== Managing version changes (lock files) =====
 +TODO
php/composer.1468526478.txt.gz · Last modified: 2016/07/14 20:01 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki