Useful practical commands, code and things you will frequently need for working with Symfony framework.
# Install Symfony Installer
curl -LsS http://symfony.com/installer > symfony.phar
sudo mv symfony.phar /usr/local/bin/symfony
chmod a+x /usr/local/bin/symfony
# Create a new project
symfony new my_project
# Update the Symfony installer
symfony self-update
# List help
symfony about
# Create new project with Composer
composer create-project symfony/framework-standard-edition ~2.6
# Add package to project
composer require vendor/library
# Update all dependencies of current project
composer update
# Install dependencies for current project with versions defined in composer.lock
composer install
# List available commands and show the Symfony version
php app/console
# Display help for given command
php app/console help [command]
# Display all configured public services
php app/console container:debug [--show-private] [service_name]
# Dump all assets to the filesystem
php app/console assetic:dump [--watch] [--force] [--period=...] [write_to]
# Dump the default configuration for an extension/bundle
php app/console config:dump-reference <bundle_or_extension_alias>
# Send messages from spool
php app/console swiftmailer:spool:send [--message-limit=...] [--time-limit=...] [--recover-timeout=...]
# Extract translation strings from templates of a given bundle.
# It can display them or merge the new ones into the translation files
php app/console translation:update [--prefix=...] [--update-format=...] [--dump-messages] [--force] <locale> <bundle>
# Lint a template and outputs to stdout the first encountered syntax error
php app/console twig:lint <filename>`
# Clear the cached information
php app/console cache:clear [--no-warmup] [--no-optional-warmers]
# Warm up an empty cache
php app/console cache:warmup [--no-optional-warmers]`
# Install bundles web assets under a public web directory
php app/console assets:install <target_dir> [--symlink] [--relative]
# Generate a bundle
php app/console generate:bundle [--namespace=...] [--dir=...] [--bundle-name=...] [--format=...] [--structure]
# Display current routes for application
php app/console router:debug [route_name]
# Dump all routes as Apache rewrite rules
php app/console router:dump-apache [--base-uri=...] [script_name]
# Debug routes by simulating a path info match
php app/console router:match <path_info>
# Display current exposed routes for an application
php app/console fos:js-routing:debug <name>
# Clear all metadata cache for an entity manager
php app/console doctrine:cache:clear-metadata [--em=...] [--flush]
# Clear all query cache for an entity manager
php app/console doctrine:cache:clear-query [--em=...] [--flush]
# Clear all result cache for an entity manager
php app/console doctrine:cache:clear-result [--em=...] [--flush]
# Create the configured databases
php app/console doctrine:database:create [--connection=...]
# Drop the configured databases
php app/console doctrine:database:drop [--connection=...] [--force]
# Convert mapping information between supported formats
php app/console doctrine:mapping:convert [--filter=...] [--force] [--from-database] [--extend=...] [--num-spaces=...] [--namespace=...] [--em=...] <to-type> <dest-path>
# Import mapping information from an existing database
php app/console doctrine:mapping:import [--em=...] [--filter=...] [--force] <bundle> <mapping-type>
# Show basic information about all mapped entities
php app/console doctrine:mapping:info [--em=...]
# Generate a new Doctrine entity inside a bundle
php app/console doctrine:generate:entity [--entity=...] [--fields=...] [--format=...] [--with-repository]
# Generate entity classes and method stubs from your mapping information
php app/console doctrine:generate:entities [--path=...] [--no-backup] <name>
# Generate a form class based on a Doctrine entity
php app/console doctrine:generate:form <entity>
# Generate a CRUD based on a Doctrine entity
php app/console doctrine:generate:crud [--entity=...] [--route-prefix=...] [--with-write] [--format=...]
# Execute arbitrary DQL directly from the command line
php app/console doctrine:query:dql [--hydrate=...] [--first-result=...] [--max-result=...] [--depth=...] [--em=...] <dql_to_execute>
# Execute arbitrary SQL directly from the command line
php app/console doctrine:query:sql [--depth=...] [--connection=...] <sql_to_execute>
# Executes (or dumps) the SQL needed to generate the database schema
php app/console doctrine:schema:create [--dump-sql] [--em=...]
# Execute (or dump) the SQL needed to drop the current database schema
php app/console doctrine:schema:drop [--dump-sql] [--force] [--full-database] [--em=...]
# Executes (or dumps) the SQL needed to update the database schema to match the current mapping metadata
php app/console doctrine:schema:update [--complete] [--dump-sql] [--force] [--em=...]
# Validate the Doctrine mapping files
php app/console doctrine:schema:validate [--em=...]
# Ensure that Doctrine is properly configured for a production environment
php app/console doctrine:ensure-production-settings [--complete] [--em=...]
# Load data fixtures to your database
php app/console doctrine:fixtures:load [--fixtures=...] [--append] [--em=...] [--purge-with-truncate]
{# Echo variable with html escaping #}
{{ content }}
{# Echo raw variable and disable html escaping #}
{{ content|raw }}
{# Extend template #}
{% extends '::base.html.twig' %}
use Symfony\Component\HttpFoundation\Response;
public function helloAction()
{
return new Response('Hello world!');
}