Welcome to the Symfony Standard Edition - a fully-functional Symfony2 application that you can use as the skeleton for your new app. If you want to learn more about the features included, see the "What's Inside?" section.
This document contains information on how to download and start using Symfony. For a more detailed explanation, see the Installation chapter of the Symfony Documentation.
If you've already downloaded the standard edition, and unpacked it somewhere within your web root directory, then move on to the "Installation" section.
To download the standard edition, you have two options:
The easiest way to get started is to download an archive of the standard edition
(http://symfony.com/download). Unpack it somewhere under your web server root
directory and you're done. The web root is wherever your web server (e.g. Apache)
looks when you access
http://localhost in a browser.
We highly recommend that you download the packaged version of this distribution. But if you still want to use Git, you are on your own.
Run the following commands:
git clone http://github.com/symfony/symfony-standard.git cd symfony-standard rm -rf .git
Once you've downloaded the standard edition, installation is easy, and basically involves making sure your system is ready for Symfony.
Before you begin, make sure that your local system is properly configured for Symfony. To do this, execute the following:
If you get any warnings or recommendations, fix these now before moving on.
If you downloaded the archive "without vendors" or installed via git, then
you need to download all of the necessary vendor libraries. If you're not
sure if you need to do this, check to see if you have a
If you don't, or if that directory is empty, run the following:
php bin/vendors install
Note that you must have git installed and be able to execute the
command to execute this script. If you don't have git available, either install
it or download Symfony with the vendor libraries already included.
Congratulations! You're now ready to use Symfony. If you've unzipped Symfony in the web root of your computer, then you should be able to access the web version of the Symfony requirements check via:
If everything looks good, click the "Bypass configuration and go to the Welcome page" link to load up your first Symfony page.
You can also use a web-based configurator by clicking on the "Configure your
Symfony Application online" link of the
To see a real-live Symfony page in action, access the following page:
This distribution is meant to be the starting point for your application, but it also contains some sample code that you can learn from and play with.
A great way to start learning Symfony is via the Quick Tour, which will take you through all the basic features of Symfony2 and the test pages that are available in the standard edition.
Once you're feeling good, you can move onto reading the official Symfony2 book.
Since the standard edition is fully-configured and comes with some examples, you'll need to make a few changes before using it to build your application.
The distribution is configured with the following defaults:
- Twig is the only configured template engine;
- Doctrine ORM/DBAL is configured;
- Swiftmailer is configured;
- Annotations for everything are enabled.
A default bundle,
AcmeDemoBundle, shows you Symfony2 in action. After
playing with it, you can remove it by following these steps:
- delete the
- remove the routing entries referencing AcmeBundle in
- remove the AcmeBundle from the registered bundles in
The Symfony Standard Edition comes pre-configured with the following bundles:
- FrameworkBundle - The core Symfony framework bundle
- SensioFrameworkExtraBundle - Adds several enhancements, including template and routing annotation capability (documentation)
- DoctrineBundle - Adds support for the Doctrine ORM (documentation)
- TwigBundle - Adds support for the Twig templating engine (documentation)
- SecurityBundle - Adds security by integrating Symfony's security component (documentation)
- SwiftmailerBundle - Adds support for Swiftmailer, a library for sending emails (documentation)
- MonologBundle - Adds support for Monolog, a logging library (documentation)
- AsseticBundle - Adds support for Assetic, an asset processing library (documentation)
- JMSSecurityExtraBundle - Allows security to be added via annotations (documentation)
- WebProfilerBundle (in dev/test env) - Adds profiling functionality and the web debug toolbar
- SensioDistributionBundle (in dev/test env) - Adds functionality for configuring and working with Symfony distributions
- SensioGeneratorBundle (in dev/test env) - Adds code generation capabilities (documentation)
- AcmeDemoBundle (in dev/test env) - A demo bundle with some example code