Weitere ähnliche Inhalte Ähnlich wie Composer | PHP Dependency Manager (20) Kürzlich hochgeladen (20) Composer | PHP Dependency Manager2. Who am I?
• Ujjwal Ojha
• BSc. CSIT
• Hrevert Technologies
• Web application development
3. Table Of Contents
• Introduction
• What is dependency?
• Why not Pear?
• Installation
• Basic Usage
4. 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
8. Why not Pear?
• Pears installs packages globally
• With Pear, your code is scattered throughout the machine.
11. 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
15. 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
"
]
},
17. 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"
}
}
}
]
}
18. Private dependencies with Satis
{
"repositories": [
{ "type": "composer", "url": "http://packages.example.org/" }
],
"require": {
"company/package": "1.2.0",
"company/package2": “1.5.2",
}
}