Learn the benefits of Composer (Dependency Manager for PHP)
3.1 (15 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.
64 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn the benefits of Composer (Dependency Manager for PHP) to your Wishlist.

Add to Wishlist

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.1 (15 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.
64 students enrolled
Created by Richard Ruiter
Last updated 11/2014
English
Current price: $10 Original price: $20 Discount: 50% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 26 mins on-demand video
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • By the end of this course you will be able to use Composer on a professional level
View Curriculum
Requirements
  • A basic knowledge of PHP programming
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?

Who is the target audience?
  • Web developers
  • Software developers
  • PHP developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
+
Introduction
6 Lectures 10:27

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.

Preview 00:35

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

Preview 00:38


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

Preview 02:53


This quiz will contain questions about:

  • the composer.json file
  • packagist
  • the vendor directory
  • how to start using packages in your project.
Quiz for the introduction
3 questions

+
Using composer in your projects
6 Lectures 14:19
Create your first project with composer
03:27

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

The composer.json file
01:12

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.

Requiring packages (using Packagist)
04:03

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.

Vendor directory
02:33

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.

Including vendor/autoload.php
02:27

This quiz will contain questions about:

  • the composer.json file
  • packagist
  • the vendor directory
  • how to start using packages in your project.
Using composer in your projects
6 questions

Summary section 2
00:37
+
Creating a composer package
5 Lectures 01:03

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
Advanced configuration
00:35

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.

Autoloading your project files
9 pages

Adding custom repositories
8 pages

Using scripts and binaries
8 pages

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

Summary section 3
00:28
+
Bonus
1 Lecture 00:00

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"

Managing WordPress sites with Composer
7 pages
+
What now?
1 Lecture 00:15

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

Conclusion
00:15
About the Instructor
Richard Ruiter
3.1 Average rating
15 Reviews
64 Students
1 Course
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.