What is Composer?
If you are here then you might have been managing your dependencies manually, which is such a pain, or you are new to this. Either way, a Composer will help you! A Composer is a tool that automates the download of packages. You can tell a Composer the package and which version of it you want and it would go ahead and download it for you. It’s basically a dependency manager.
Installing Composer
The installation is going to be the same for shared hosting, Linux and macOS and different for windows.
On Shared Hosting, Linux and macOS
You can use the command line to execute the installation. Connect to your hosting account through SSH connection and follow these steps:
Step 1. Enter the following command in the terminal:
php -r "copy('https://getComposer.org/installer', 'Composer-setup.php');"
This will check for the latest version of the Composer and then download it.
Step 2. Then you’ll need to make sure that the file you’ve just downloaded isn’t corrupted. Use the following command:
php -r "if (hash_file('sha384', 'Composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff160 9dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('Composer-setup.php'); } echo PHP_EOL;"
So you’re ready for the installation. You can install the Composer either locally, storing the dependency manager in your current directory, or globally, in the usr/local/bin directory. Basically, you’ll need to explicitly state the path before executing commands if you install locally or you can install it globally making it system-wide executable.
Step 3. Use the following command if you wish to install Composer locally:
php Composer-setup.php
To install it globally, use the following command:
php Composer-setup.php --install-dir=/usr/local/bin --filename=Composer
Step 4. Enter the following command to delete the installer after the installation:
php -r "unlink('Composer-setup.php');"
On Windows
Installing Composer on Windows involves different steps from the ones discussed above.
Step 1. Install XAMPP to install PHP on your system.
Step 2. Now go to the following link to download Composer:
https://getComposer.org/Composer-Setup.exe
Things to keep in mind while installing:
The installer will ask you if you want to install it in developer mode. Make sure not to install it in developer mode.
You’ll also need to locate the PHP command line which, by default, is C:/xampp/php/php.exe
Also, leave the proxy settings box unchecked.
Step 3. You have successfully installed Composer on your system. Now open the command prompt and enter the following command:
Composer
Understanding Composer
To understand Composer we’ll make a simple PHP timer. Just follow these steps and you’ll be able to make you PHP timer which will tell you the time the code takes to execute:
Step 1. Make a new directory and execute the following command by replacing ‘name’ with the name you wish to give it:
mkdir phptimer
Step 2. Now you’ll have to enter the directory you’ve just created:
cd phptimer
Step 3. Now you’ll need to log on to the Packagist (feel free to use something else but this is the best place to find libraries for your project development) and search for ‘timer’. Choose the one with the most starts and most downloads from the search result.
Step 4. Use the following command after replacing ‘something/package-name’ by the name of the package you chose:
Composer require phpunit/php-timer
If you look up in your project directory now you will find two new files and one new folder, namely Composer.json, Composer.lock, and vendor. Vendor will be used as the directory to save all the packages and dependencies.
Now all you need to do is load the dependencies in your PHP script and your project would be up and running. You can either do the process manually or save a lot of time and energy by using Composer’s autoload file. And using it is fairly simple. So before declaring a new variable in the script you’ll have to write the following code:
1.require '/vendor/autoload.php'
Following are the steps to test the timer project we made and you can tweak the code a little bit to do it for some other project similarly:
Step 1. Use the following code to create a script in the nano text with the name demp.php after replacing demo.php with the name of your choice:
nano demo.php
Step 2. Now head to the file and put the following code there:
<?php require __DIR__ . '/vendor/autoload.php' Timer::start(); // your code starts here $time = Timer::stop(); var_dump($time); print Timer::secondsToTimeString($time);
Step 3. Use the following code to run the script:
php demo.php
Now your project is good to go but you must also learn to update your packages. You can either do a universal update, which will check for updates available for all your packages and install them, or a package-specific update, which will check for updates and install them for just the specified packages.
Use the following code for a universal update:
Composer update
Use this code for package-specific updates, after changing random/package and randon2/package2 with the actual name of the package that has to be updated:
Composer update vendor/package vendor2/package2
Now you are all set to create great projects in PHP using Composer.
- If you need the best shared hosting as solution, click here and get the desired one.