Igor's Blog

Until recently all of my PHP development relied on manually downloading library dependencies and making them work with existing projects. Now that I started work on a new project from scratch I decided to try out Composer for library management and wow does it save a lot of time and hassle!

Installation is very easy, just use curl to download it and pipe to the php executable. I prefer to keep Composer inside my project directory but it is also possible to install globally.
 Installing Composer
curl -s http://getcomposer.org/installer | php


That will create a file called composer.phar, which is the entire Composer executable script. At this point you have a couple of options. You can create a composer.json file manually or use './composer.phar init' to generate the file for you by answering a number of questions. You can then use then './composer.phar require ' to add a library to your project.

In my case the composer.json file looks something like this...
 composer.json
{
"name": "ikromin/travelblog.ws",
"authors": [
{
"name": "Igor Kromin",
"email": "[email protected]"
}
],
"require": {
"jackalope/jackalope-doctrine-dbal": "^1.2",
"smarty/smarty": "^3.1"
}
}




What that means is the name of my project is 'ikromin/travelblog.ws' and I am the author. In addition the project requires the jackalope/doctrine-dbal and the smarty libraries (specifying the version numbers).

Running './composer.phar install' will download and install all of the required libraries, including their dependencies, into your project.

Once that is done, it's just a matter of including the auto-loader like this...
 Autoloader
<?php
require __DIR__ . '/vendor/autoload.php';
...


...and you can begin to use the libraries. It's as simple as that!

-i

, ,
About — I'm an enthusiastic software engineer and consultant interested in many fields including J2EE, programming, electronics, 3D printing, video games, wood working and gardening.
See my Resume for more information.
The views expressed in this blog are my own and not those of my employer.
comments powered by Disqus
My other posts you may like...
Programming, DIY, Games, Hacks, Tech and more.
Follow me on...
Current and Past Projects
See my Resume

Subscribe


RSS Feed

My Other Web Sites

Igor and Elise's Travels
Riverside Expressway Cam
StrFunc() Online
300 George St Blogumentary
Guru JSON-RPC Tester
Extrudifier Object Designer

Recent Blog Posts

NeoOffice Viewer macOS Word Document viewer vs Preview and Microsoft Word

Importance of cleaning the internal fans and heatsinks in a MacBook Pro

Adding an email subscribe feature to your Blog with Blogtrottr

How to remove Google's logo from your G Suite applications

Pedestal fan transformed into a ceiling fan

Testing the Velvet WiFi Hotshot signal strength

Improving slow download speeds on the PS4 and PSN

Add batch image resize functionality to macOS using Automator

Show transfer percentage and speed when copying files in Linux and Bash

So I finally got to try eating some space food

Recent Galleries

Space Food - Chocolate Ice Cream with Chocolate Chips

Legeod Star Wars AT-DP kit

DIY spare parts computer build with a RAIDMAX Anura case

Fake 'Lepin' brand Lego packaging

Hardwood garden bench with clear resin void filler

Fixing a 3D printer extruder that stopped heating up

Easily increase disk space in a Lenovo Ideapad 100S 14" laptop with an M.2 SSD

Making a multi-piece 3D printed solder spool holder stand

DIY indoor apartment grow light wiring

Good Friday Electronics fun Easter Bunny LED PCB Kit IBEABU-01.0

Top Categories

Blogs I follow

Matt Moores Blog
Georgi's FlatPress Guide
Perplexing Permutations
The Security Sleuth

Friends

RAWS Parts Online
Alpha Dimensions Hosting
Kristensen Photography
Ilia Rogatchevski
Travelling Fairy

Blog Activity

Blog Activity
Please follow me on...