Composer | PHP Dependency Manager
Upcoming SlideShare
Loading in...5
×
 

Composer | PHP Dependency Manager

on

  • 384 views

A quick start presentation on Composer, PHP dependency manager

A quick start presentation on Composer, PHP dependency manager

Statistics

Views

Total Views
384
Views on SlideShare
384
Embed Views
0

Actions

Likes
1
Downloads
3
Comments
3

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Composer | PHP Dependency Manager Composer | PHP Dependency Manager Presentation Transcript

  • COMPOSER A PHP dependency manager
  • Who am I? • Ujjwal Ojha • BSc. CSIT • Hrevert Technologies • Web application development
  • Table Of Contents • Introduction • What is dependency? • Why not Pear? • Installation • Basic Usage
  • Introduction • PHP dependency manager • Very useful to work with third party libraries • Similar to npm for node.js, Bundler for Ruby, or pip for Python
  • What is dependency?
  • Recursive Dependencies
  • Two Way Recursive Dependencies
  • Why not Pear? • Pears installs packages globally • With Pear, your code is scattered throughout the machine.
  • Installation mkdir myprojectname cd myprojectname curl -s https://getcomposer.org/installer | php
  • Create composer.json { "require": { "silex/silex": "~1.0" } } php composer.phar install
  • Loading composer repositories with package information Installing dependencies - Installing psr/log (1.0.0) Loading from cache - Installing symfony/routing (v2.2.1) Downloading: 100% - Installing symfony/http-foundation (v2.2.1) Downloading: 100% - Installing symfony/event-dispatcher (v2.2.1) Loading from cache - Installing symfony/http-kernel (v2.2.1) Downloading: 100% - Installing pimple/pimple (v1.0.2) Downloading: 100% - Installing silex/silex (v1.0.0) Downloading: 100% Writing lock file Generating autoload files Your dependencies dependency Your dependency
  • Autoloading Composer generates an autoload file for all your Dependencies
  • Autoloader Supports PSR-0 Autoloader PSR-4 Autoloader Classmap Autoloader
  • Autoloader usage <?php // From your app`s bootstrap.php include “vendor/autoload.php”;
  • Scripts Perform custom actions during installation and update "scripts": { "post-install-cmd": [ "Sensio...ComposerScriptHandler::buildBootstrap", "Sensio...ComposerScriptHandler::clearCache", "Sensio...ComposerScriptHandler::installAssets", "Sensio...ComposerScriptHandler::installRequirementsFile " ], "post-update-cmd": [ “Sensio...ComposerScriptHandler::buildBootstrap", "Sensio...ComposerScriptHandler::clearCache", "Sensio...ComposerScriptHandler::installAssets", "Sensio...ComposerScriptHandler::installRequirementsFile " ] },
  • Non-composer packages { "repositories": [ { "type": "package", "package": { "name": "smarty/smarty", "version": "3.1.7", "dist": { "url": "http://www.smarty.net/files/Smarty-3.1.7.zip", "type": "zip" }, "source": { "url": "http://smarty-php.googlecode.com/svn/", "type": "svn" } } } ] }
  • Private dependencies with Satis { "repositories": [ { "type": "composer", "url": "http://packages.example.org/" } ], "require": { "company/package": "1.2.0", "company/package2": “1.5.2", } }
  • Thank You Questions? Ujjwal Ojha