.. _how-to-install-and-use-the-symfony2-components:

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 :doc:`/components/finder`, 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, step into this directory and use Composer to grab the library.

.. code-block:: terminal

    $ composer require symfony/finder

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

.. tip::

    `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! Your command line in that
    case is ``php composer.phar 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::

    // Project structure example:
    // my_project/
    //     data/
    //         ...              # Some project data
    //     src/
    //         my_script.php    # Main entry point
    //     vendor/
    //         autoload.php     # Autoloader generated by Composer
    //         ...              # Packages downloaded by Composer

    // File example: src/my_script.php
    // Autoloader relative path to this PHP file
    require_once __DIR__.'/../vendor/autoload.php';

    use Symfony\Component\Finder\Finder;

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

    // rest of your PHP code...

Now what?
---------

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

And have fun!

.. _Composer: https://getcomposer.org
.. _Install Composer: https://getcomposer.org/download/
