How to Install and Use the Symfony Components

If you’re starting a new project (or already have a project) that will use one or more components, the easiest way to integrate everything is with Composer. Composer is smart enough to download the component(s) that you need and take care of autoloading so that you can begin using the libraries immediately.

This article will take you through using The Finder Component, though this applies to using any component.

Using the Finder Component

1. If you’re creating a new project, create a new empty directory for it.

2. Open a terminal and use Composer to grab the library.

$ composer require symfony/finder

The name symfony/finder is written at the top of the documentation for whatever component you want.

小技巧

Install composer if you don’t have it already present on your system. Depending on how you install, you may end up with a composer.phar file in your directory. In that case, no worries! Just run php composer.phar require symfony/finder.

If you know you need a specific version of the library, add that to the command:

$ composer require symfony/finder

3. Write your code!

Once Composer has downloaded the component(s), all you need to do is include the vendor/autoload.php file that was generated by Composer. This file takes care of autoloading all of the libraries so that you can use them immediately:

// File example: src/script.php

// update this to the path to the "vendor/" directory, relative to this file
require_once __DIR__.'/../vendor/autoload.php';

use Symfony\Component\Finder\Finder;

$finder = new Finder();
$finder->in('../data/');

// ...

Using all of the Components

If you want to use all of the Symfony Components, then instead of adding them one by one, you can include the symfony/symfony package:

$ composer require symfony/symfony

This will also include the Bundle and Bridge libraries, which you may or may not actually need.

Now what?

Now that the component is installed and autoloaded, read the specific component’s documentation to find out more about how to use it.

And have fun!