Learn the benefits of Composer (Dependency Manager for PHP)

By taking this course you will get the skills to manage your PHP dependencies and libraries on a professional level.
3.4 (9 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
56 students enrolled
25% off
Take This Course
  • Lectures 19
  • Length 1 hour
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2014 English

Course Description

Composer is becoming the defacto standard for managing dependencies in PHP applications.

Most of the PHP libraries and frameworks can be installed using Composer.

However it can do a lot more than just installing packages.

This course is a step by step guide to get the most out of composer for your own projects and daily work.

We will go over:

  • what composer exactly is
  • what it can mean for your projects
  • how to install and use it
  • and much more

So, are you ready to learn all about composer?

What are the requirements?

  • A basic knowledge of PHP programming

What am I going to get from this course?

  • By the end of this course you will be able to use Composer on a professional level

Who is the target audience?

  • Web developers
  • Software developers
  • PHP developers

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

I’ll go over the broad topics we’ll cover in the course, as well as review the supplemental material and assignments. I’ll also touch on why the course will help students, and what they’ll get out of it once they’ve completed it.


I’ll explain what composer is and a little about the history and how developers were managing dependencies in the past.

What can composer mean for my projects?

In this lecture i’ll be explaining what it takes to install composer on Linux, Windows and Mac

Install globally on a Linux machine

Install globally on a OSX machine

Install globally on a Windows machine

Command-line interface
3 questions

This quiz will contain questions about:

  • the composer.json file
  • packagist
  • the vendor directory
  • how to start using packages in your project.
Summary section 1
Section 2: Using composer in your projects
Create your first project with composer

In this screencast i'll go over the basics of the composer.json file and point out some pitfalls in using it.


This lecture is the meat of composer because i'll show the student howto require packagist from a repository. The default repository is packagist and is has 36357 packages registered and counting. I'll use some example mainstream packages like Zend2 in combination with Doctrine2 ORM. The student will see how the packages are installed using the "composer install" command and that all the dependencies these packages have are resolved by composer. All packages are installed in the vendor directory.


The vendor directory is where all packages are installed. I'll make sure the student knows that no changes should be made in this directory and that he can throw it away and start over again with the same command.


The glue between composer and the students project is the file vendor/autoload.php. To get started using composer i'll show the student how to require this file and how to create a Zend2 object. This will teach the student that there is no need anymore to think about which files to include when you for example want to create a basic database connection. All is done by composer and this is a very important topic i want the student to learn.

6 questions

This quiz will contain questions about:

  • the composer.json file
  • packagist
  • the vendor directory
  • how to start using packages in your project.
Summary section 2
Section 3: Creating a composer package

Creating a composer.json file for your package is a lot like i have talked about in the previous lectures. There are some additional keys in the file that i'll outline in this lecture. These keys are:

  • autoload
  • repositories
  • scripts
  • bin
9 pages

In the "Creating a basic project" lecture i outlined the autoload key and in this lecture will give a examples for the different ways of autoloading your library files.

Adding custom repositories
8 pages
Using scripts and binaries
8 pages

Here i'll summarize what exactly we could conclude from section 3.

Section 4: Bonus
7 pages

In this lecture i'll give some additional useful information about maintaining WordPress sites. It involves keeping the WordPress version up to date including all plugin versions. Also an explanation about why it can be a pain how you would normally keep it updated (FTP server yuck) and how awesome it is with just changing the numbers and "composer update"

Section 5: What now?

Here i'll close the course with a conclusion about Composer, how to proceed and asking the student for feedback.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Richard Ruiter, Senior Web Developer

My name is Richard Ruiter and from The Netherlands, my age is 36 and have 3 children.

Web development has been my ambition since 1997 and have been actively working in this branch full-time. Because the internet is constantly changing and improving it has always been my goal to keep up. Innovation is very important to me and i always try to apply this in all the projects i’m on with passion.

In the years I've worked for a lot of different companies from small to very big high traffic websites. There is always room to improve.

Also being a developer and business owner enables me to really determine what brings the best value to a project. Getting good results is not only developing the awesome application or calculating the optimal revenue streams. It's a mix of these things. My strongest point is to be a bridge between business people and developers while overseeing the complete architecture.

Ready to start learning?
Take This Course