Introduction of symfony development process & What's symfony 1.3?
The Path to Symfony in the USA
-
Upload
dustin-whittle -
Category
Technology
-
view
13.347 -
download
0
description
Transcript of The Path to Symfony in the USA
![Page 1: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/1.jpg)
The path to symfony in the USA
![Page 2: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/2.jpg)
This talk will examine how symfony and the community around symfony has evolved since 2006. From the release of the initial symfony code to symfony 2.0, and all of the community milestones along the way. The focus of this talk is on how application development has evolved and how symfony and the community have kept pace over the years.
![Page 3: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/3.jpg)
Dustin Whittledustinwhittle.com
![Page 4: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/4.jpg)
How I got started
![Page 5: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/5.jpg)
Consulting
dustinwhittle.com
![Page 6: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/6.jpg)
Yahoo
yahoo.com
![Page 7: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/7.jpg)
delicious.com
![Page 8: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/8.jpg)
answers.yahoo.com
![Page 9: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/9.jpg)
pulse.yahoo.com
![Page 10: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/10.jpg)
developer.yahoo.com
![Page 11: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/11.jpg)
sensiolabs.com
![Page 12: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/12.jpg)
Sensio Labs launches in USA
Joining Sensio Labs in a partnership to launch services in USA
Opening an office in San Francisco
Project Consulting
Best Practices Consulting / Audits
Security Audits
Training from open source experts
symfony 1, Symfony 2, Doctrine 1, Doctrine 2, PHPUnit
![Page 13: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/13.jpg)
guru.sensiolabs.com
![Page 14: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/14.jpg)
trainings.sensiolabs.com
![Page 15: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/15.jpg)
symfony-project.org
![Page 16: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/16.jpg)
Symfony in the beginning
Released open source by Sensio Labs in October 2005
Built from years of real world experience in developing web applications
Built to improve developer productivity by solving common web problems
![Page 17: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/17.jpg)
Symfony 0.x
Developed the core philosophy
Don’t reinvent the wheel
Keep it simple stupid
Don’t repeat yourself
Invest in unit + functional testing
Invest in quality documentation
Favor convention over configuration
![Page 18: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/18.jpg)
![Page 19: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/19.jpg)
Defined the core problem set / features
Model - View - Controller
Configuration - YAML + Multiple Environments
ORM Integration - CRUD / Admin Generators
Routing, Forms, Security, I18n, Caching
Developer tools - logging, exceptions, debug toolbar
Symfony 0.x
![Page 20: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/20.jpg)
The start of an open source community
Launch of symfony-project.com
Initial tutorials / documentation
Support channels on IRC, Forum, Mailing lists
Established a core team with distinct leadership from Fabien
A way to contribute back on Trac - feedback, bugs, patches
Symfony 0.x
![Page 21: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/21.jpg)
symfony-project.com
![Page 22: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/22.jpg)
symfony 1.0
![Page 23: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/23.jpg)
symfony-project.org/book/1_0
![Page 24: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/24.jpg)
askeet.com
![Page 25: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/25.jpg)
symfony 1.0 was good enough for Yahoo! to adopt
![Page 26: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/26.jpg)
bookmarks.yahoo.com
![Page 27: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/27.jpg)
delicious.com
![Page 28: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/28.jpg)
answers.yahoo.com
![Page 29: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/29.jpg)
current.com
![Page 30: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/30.jpg)
symfony 1.x
![Page 31: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/31.jpg)
The path to symfony 1.2The original symfony 2!
Introduction of the event dispatcher
Introduction of new sub frameworks
Forms / Caching / Tasks
Swiftmailer
Refactored major components
Configuration, Routing, I18n, Admin Generator, Plugins
Added support for Doctrine ORM
![Page 32: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/32.jpg)
The path to symfony 1.2
The community starts to mature
Core team has dedicated release / community managers
The community gives back to symfony
Plugins + Patches + Documentation + Translations
Case studies + Evangelism
Community events
Our first official meetup at SymfonyCamp
![Page 33: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/33.jpg)
![Page 34: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/34.jpg)
jobeet.org
![Page 35: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/35.jpg)
symfonians.org
![Page 36: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/36.jpg)
symfony-check.org
![Page 37: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/37.jpg)
symfony 1.4
![Page 38: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/38.jpg)
The path to symfony 1.4
A stable + tested version of symfony
Removed deprecated code (kept in 1.3 instead)
Long Term Support
A healthy community supports itself
Active mailing lists where users support each other
Documentation - Translated into six languages
Events - SymfonyLive + SymfonyDay
![Page 39: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/39.jpg)
symfony 1.4 Documentation
symfony-project.org/doc
![Page 40: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/40.jpg)
SymfonyLive
symfony-live.com
![Page 41: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/41.jpg)
symfonyday.com
![Page 42: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/42.jpg)
bit.ly/sf-symfony-meetup
![Page 43: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/43.jpg)
symfony 1.x is used on many web applications from large
companies to small startups
![Page 44: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/44.jpg)
pulse.yahoo.com
![Page 45: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/45.jpg)
ted.com
![Page 46: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/46.jpg)
plancast.com
![Page 47: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/47.jpg)
dogster.com
![Page 48: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/48.jpg)
demo.apostrophenow.com
![Page 49: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/49.jpg)
symfony-reloaded.org
![Page 50: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/50.jpg)
symfony-reloaded.org
![Page 51: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/51.jpg)
Symfony 2.xLearning from experience
Developed from scratch for performance and flexibility
PHP 5.3 - Support for namespaces and lambdas
Better Development Model
A collection of independent components
A framework for frameworks / full-stack framework
Better Community
Github enables collaboration + contributions
![Page 52: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/52.jpg)
Symfony 2.xEvolved the philosophy
Dependency Injection Container + Event Dispatcher
Design by interface for a stable API
Less Magic = Favor explicit over implicit
Don’t reinvent the wheel
Doctrine 2 (DBAL / ORM / ODM)
Zend Framework 2 (Logger)
PHPUnit 3.5.x
![Page 53: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/53.jpg)
Symfony 2.xMore flexibility
Configuration: YAML, XML, PHP
Templating: Twig or PHP
ORM: Doctrine or Propel
More features
HTTP Cache
ACL Security
Asset Management
![Page 54: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/54.jpg)
Symfony 2.x
NoSQL via Doctrine 2
MongoDB
CouchDB
Better testing via PHPUnit
Jenkins / phpUnderControl Integration
Selenium Support
Code Coverage Reporting
![Page 55: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/55.jpg)
Symfony 2.x
GitHub vs SVN
Better core team management
Weekly IRC Meetings
Hackdays / Sprints / Meetups
![Page 56: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/56.jpg)
github.com/symfony/symfony
![Page 57: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/57.jpg)
docs.symfony-reloaded.org
![Page 58: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/58.jpg)
symfony2bundles.org
![Page 59: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/59.jpg)
Symfony 2 is so good it is already used in production
![Page 60: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/60.jpg)
dailymotion.com
![Page 61: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/61.jpg)
lexpress.fr
![Page 62: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/62.jpg)
shopopensky.com
![Page 63: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/63.jpg)
exercise.com
![Page 64: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/64.jpg)
weka-entertainment.com
![Page 65: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/65.jpg)
control.servergrove.com
![Page 66: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/66.jpg)
From symfony 1 to Symfony 2
![Page 67: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/67.jpg)
It has never been easier to get started with symfony
![Page 68: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/68.jpg)
aws.amazon.com/free
![Page 69: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/69.jpg)
zerigo.com
![Page 70: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/70.jpg)
cloudflare.com
![Page 71: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/71.jpg)
The symfony 1.x sandbox
wget symfony-project.org/get/sf_sandbox_1_4.tgz
tar -xzf sf_sandbox_1_4.tgz
![Page 72: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/72.jpg)
./symfony
![Page 73: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/73.jpg)
Available tasks: :help Displays help for a task :list Lists tasksapp :routes Displays current routes for an applicationcache :clear Clears the cache (cc)configure :author Configure project author :database Configure database DSNdoctrine :build Generate code based on your schema :build-db Creates database for current model (doctrine:create-db) :build-filters Creates filter form classes for the current model :build-forms Creates form classes for the current model :build-model Creates classes for the current model :build-schema Creates a schema from an existing database :build-sql Creates SQL for the current model :clean-model-files Delete all generated model classes for models which no longer exist in your YAML :create-model-tables Drop and recreate tables for specified models. :data-dump Dumps data to the fixtures directory :data-load Loads YAML fixture data :delete-model-files Delete all the related auto generated files for a given model name. :dql Execute a DQL query and view the results :drop-db Drops database for current model :generate-admin Generates a Doctrine admin module :generate-migration Generate migration class :generate-migrations-db Generate migration classes from existing database connections :generate-migrations-diff Generate migration classes by producing a diff between your old and new schema. :generate-migrations-models Generate migration classes from an existing set of models :generate-module Generates a Doctrine module :generate-module-for-route Generates a Doctrine module for a route definition :insert-sql Inserts SQL for current model :migrate Migrates database to current/specified versiongenerate :app Generates a new application :module Generates a new module :project Generates a new project :task Creates a skeleton class for a new task
![Page 74: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/74.jpg)
# You can find more information about this file on the symfony website:# http://www.symfony-project.org/reference/1_4/en/04-Settings
prod: .settings: no_script_name: true logging_enabled: false
dev: .settings: error_reporting: <?php echo (E_ALL | E_STRICT)."\n" ?> web_debug: true cache: false no_script_name: false etag: false
test: .settings: error_reporting: <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?> cache: false web_debug: false no_script_name: false etag: false
all: .settings: # Form security secret (CSRF protection) csrf_secret: 1b1783c5ae00e1d90926fb970d5df01c40c8ab98
# Output escaping settings escaping_strategy: true escaping_method: ESC_SPECIALCHARS
# Enable the database manager use_database: true
Sandbox/apps/frontend/config/settings.yml
![Page 75: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/75.jpg)
./symfony generate:module frontend hello
![Page 76: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/76.jpg)
localhost/sandbox/frontend_dev.php/hello/sf
![Page 77: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/77.jpg)
# You can find more information about this file on the symfony website:# http://www.symfony-project.org/reference/1_4/en/10-Routing
# hello module ruleshello: url: /hello/:name param: { module: hello, action: index }
# default ruleshomepage: url: / param: { module: default, action: index }
sandbox/apps/frontend/config/routing.yml
![Page 78: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/78.jpg)
<?php
class helloActions extends sfActions{ /** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $this->name = $request->getParameter('name', 'World'); }}
sandbox/apps/frontend/modules/hello/actions/actions.class.php
![Page 79: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/79.jpg)
<h1>Hello Application</h1>
Hello <?php echo $name; ?>!
sandbox/apps/frontend/modules/hello/templates/indexSuccess.php
![Page 80: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/80.jpg)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <?php include_http_metas() ?> <?php include_metas() ?> <?php include_title() ?> <link rel="shortcut icon" href="/favicon.ico" /> <?php include_stylesheets() ?> <?php include_javascripts() ?> </head> <body> <?php echo $sf_content ?> </body></html>
sandbox/apps/frontend/templates/layout.php
![Page 81: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/81.jpg)
![Page 82: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/82.jpg)
<?php
include(dirname(__FILE__).'/../../bootstrap/functional.php');
$browser = new sfTestFunctional(new sfBrowser());$browser-> get('/hello/sf')->
with('request')->begin()-> isParameter('module', 'hello')-> isParameter('action', 'index')-> end()->
with('response')->begin()-> isStatusCode(200)-> checkElement('body', '/Hello sf!/')-> end();
sandbox/test/functional/frontend/helloActionsTest.php
![Page 83: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/83.jpg)
./symfony test:all
![Page 84: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/84.jpg)
The symfony 2.x sandbox
wget symfony-reloaded.org/downloads/sandbox_2_0_PR6.tgz
tar -xzf sandbox_2_0_PR6.tgz
![Page 85: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/85.jpg)
localhost/sandbox/check.php
![Page 86: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/86.jpg)
localhost/sandbox/app_dev.php/
![Page 87: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/87.jpg)
./app/console
![Page 88: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/88.jpg)
Available commands: help Displays help for a command (?) list Lists commandsassets :install cache :warmup Warms up an empty cachedoctrine :ensure-production-settings Verify that Doctrine is properly configured for a production environment.doctrine:cache :clear-metadata Clear all metadata cache for a entity manager. :clear-query Clear all query cache for a entity manager. :clear-result Clear result cache for a entity manager.doctrine:data :load Load data fixtures to your database.doctrine:database :create Create the configured databases. :drop Drop the configured databases.doctrine:generate :entities Generate entity classes and method stubs from your mapping information. :entity Generate a new Doctrine entity inside a bundle. :proxies Generates proxy classes for entity classes. :repositories Generate repository classes from your mapping information.doctrine:mapping :convert Convert mapping information between supported formats. :import Import mapping information from an existing database. :info Show basic information about all mapped entities.doctrine:query :dql Executes arbitrary DQL directly from the command line. :sql Executes arbitrary SQL directly from the command line.doctrine:schema :create Processes the schema and either create it directly on EntityManager Storage Connection :drop Drop the complete database schema of EntityManager Storage Connection :update Processes the schema and either update the database schema of EntityManager Storage init :bundle router :debug Displays current routes for an application :dump-apache Dumps all routes as Apache rewrite rules
![Page 89: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/89.jpg)
app.config: charset: UTF-8 error_handler: null csrf_protection: enabled: true secret: xxxxxxxxxx router: { resource: "%kernel.root_dir%/config/routing.yml" } validation: { enabled: true, annotations: true } templating: { engines: ['twig'], assets_version: 1.0 } session: default_locale: en lifetime: 3600 auto_start: true
twig.config: debug: %kernel.debug% strict_variables: %kernel.debug%
doctrine.dbal: dbname: xxxxxxxx user: xxxxxxxx password: ~ logging: %kernel.debug%
doctrine.orm: auto_generate_proxy_classes: %kernel.debug% mappings: HelloBundle: ~
swiftmailer.config: transport: gmail username: xxxxxxxx password: xxxxxxxx
sandbox/app/config/config.yml
![Page 90: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/90.jpg)
localhost/sandbox/app_dev.php/hello/sf
![Page 91: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/91.jpg)
hello: pattern: /hello/{name} defaults: { _controller: HelloBundle:Hello:index }
sandbox/src/Sensio/HelloBundle/Resources/config/routing.yml
homepage: pattern: / defaults: { _controller: FrameworkBundle:Default:index }
hello: resource: @HelloBundle/Resources/config/routing.yml
sandbox/app/config/routing.yml
![Page 92: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/92.jpg)
<?php
namespace Sensio\HelloBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class HelloController extends Controller{ public function indexAction($name) { return $this->render(‘HelloBundle:Hello:index.html.twig', array('name' => $name)); }}
sandbox/src/Sensio/HelloBundle/Controller/HelloController.php
![Page 93: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/93.jpg)
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{% block title %}Hello Application{% endblock %}</title> </head> <body> {% block body %}{% endblock %} </body></html>
sandbox/app/views/base.html.twig
![Page 94: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/94.jpg)
{% extends "HelloBundle::layout.html.twig" %}
{% block content %} Hello {{ name }}!{% endblock %}
sandbox/src/Sensio/HelloBundle/Resources/views/Hello/index.html.twig
{% extends "::base.html.twig" %}
{% block body %} <h1>Hello Application</h1>
{% block content %}{% endblock %}{% endblock %}
sandbox/src/Sensio/HelloBundle/Resources/views/layout.html.twig
![Page 95: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/95.jpg)
localhost/sandbox/app_dev.php/_profiler/{token}
![Page 96: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/96.jpg)
<?php
namespace Sensio\HelloBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class HelloControllerTest extends WebTestCase{ public function testIndex() { $client = $this->createClient();
$crawler = $client->request('GET', '/hello/Fabien');
$this->assertTrue($crawler->filter('html:contains("Hello Fabien")')->count() > 0); }}
sandbox/src/Sensio/HelloBundle/Tests/Controller/HelloController.php
![Page 97: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/97.jpg)
phpunit -c app/phpunit.xml.dist
![Page 98: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/98.jpg)
A community of symfony specialists
![Page 99: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/99.jpg)
punkave.com
![Page 100: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/100.jpg)
knplabs.com
![Page 101: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/101.jpg)
liip.ch
![Page 102: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/102.jpg)
clever-age.fr
![Page 103: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/103.jpg)
interlutions.de
![Page 104: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/104.jpg)
ideato.it
![Page 105: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/105.jpg)
osscube.com
![Page 106: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/106.jpg)
solutionset.com
![Page 107: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/107.jpg)
servergrove.com
![Page 108: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/108.jpg)
pagodabox.com/private-beta
![Page 109: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/109.jpg)
symfonyexperts.com
![Page 110: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/110.jpg)
SymfonyLive
symfony-live.com
![Page 111: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/111.jpg)
Having a large community of specialists means more contributors and better services.
The community moves the project faster.
![Page 112: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/112.jpg)
Want to contribute?
Join the community!
http://github.com/symfony
Contribute: code, documentation, tests, translations, bundles
![Page 113: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/113.jpg)
Everyone is Hiring!
![Page 114: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/114.jpg)
Questions?
![Page 115: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/115.jpg)
Enjoy Symfony Live 2011
![Page 116: The Path to Symfony in the USA](https://reader030.fdocuments.net/reader030/viewer/2022012913/554a0eafb4c9058c5d8b4883/html5/thumbnails/116.jpg)
See you in Paris!