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.
- Download the Standard Edition
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
- Installation
Once you've downloaded the standard edition, installation is easy, and basically involves making sure your system is ready for Symfony.
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 vendor/
directory.
If you don't, or if that directory is empty, download composer following the
instructions on http://getcomposer.org/ and then run the following:
php composer.phar install
Now make sure that your local system is properly configured for Symfony. To do this, execute the following:
php app/check.php
If you get any warnings or recommendations, fix these now before moving on.
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:
http://localhost/Symfony/web/config.php
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 config.php
page.
To see a real-live Symfony page in action, access the following page:
web/app_dev.php/demo/hello/Fabien
- Learn about Symfony!
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
src/Acme
directory; - remove the routing entries referencing AcmeBundle in
app/config/routing_dev.yml
; - remove the AcmeBundle from the registered bundles in
app/AppKernel.php
; - remove the
web/bundles/acmedemo
directory.
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
Enjoy!