A week of symfony #38 (17->23 September 2007)

The road to symfony 1.1 continues with more changesets and internal refactoring. Lots of new and updated plugins and lots of new symfony-powered websites.

Symfony will soon have a new plugin system. Plugins will be easier to install with the plugin:install task and it will be easier to maintain different versions for symfony 1.0 and 1.1

Development highlights

  • r5175: made some tweaks to CLI output when an error occurs
  • r5176: refactored sfPluginBaseTask + fixed some bugs in plugin:* tasks
  • r5214: fixed some various bugs (patch from Dustin)
  • r5218: fixed undefined variable modulename in sfController->getPresentationFor (closes #2272)
  • r5221: fixed sfPropelPlugin autoload.yml and config.php issues is symfony 1.1 (closes #2251)
  • r5222: removed sfProcessCache::clear() call in sfConfigCache (closes #2250)
  • r5223: added more options to the sfMemcacheCache cache class (closes #2244)
  • r5226: added unit tests for sfParameterHolder, added a default argument for remove(), fixed coding standards
  • r5230: fixed flash variables
  • r5231: changed sfAutoload and sfSimpleAutoload to be singletons (PHP seems to be unable to register 2 autoloaders that are instances of the same class)
  • r5232: refactored tasks
    • sfCommandApplication and sfTask does not need a sfLogger anymore
    • tasks are now decoupled from the sfCommandApplication object
    • tasks now takes a dispatcher and a formatter
    • added 2 new classes: sfAnsiColorFormatter and sfFormatter (replaces sfConsoleColorizer)
    • added phpdoc for sfFilesystem class
    • added a sfCommandApplicationTask for tasks that still needs a sfCommandApplication object (list and help)
  • r5236: fixed sfBaseTask::get()
  • Updated dwhittle, mahono branches
  • ...and many other changes

Development digest: 75 changesets, 23 defects created, 13 defects closed, 6 enhancements created, 5 enhancement closed, 4 documentation defects created and 67 documentation edits.

Book and documentation

Approximate status of book translations: spanish (99%), italian (89%), polish (85%) chinese (26%), russian (26%), french (25%), brazilian portuguese (15%) deutsch (15%), dutch (15%), japanese (-).


  • New Job Postings:
    • Symfony Developer - LiveXChange, Inc - Work remotely (US or Canadian Citizens only, please) - Contact: ebrigham [at] shiftsolutions [dot] com
    • Symfony Developer - Twist Image - Full-time based in Montreal, Quebec, Canada - Contact: careers [at] twistimage [dot] com
  • New developers for hire:
    • Dave Dash/Spindrop: offers support and consulting on symfony projects. Best practices, configuration, plugins, caching, version control, and symfony internals are just some of the areas that I offer support for. Support is given over Skype, email or phone. I've been actively using symfony since December 2005.
    • Myke Hines (myke [at] webhines [dot] com): offers Support and Consulting on Symfony projects. Best practices, configuration, plugins, caching, high performance, and symfony internals are just some of the areas that we offer support for. Support is given over Skype, email or phone. We have been supporting Symfony projects since Feb 2006 and using Symfony since Oct 2005.
    • Gerald Estadieu: web developer/project manager for 10+ years. I work mainly in PHP/Ajax/Java, using Symfony recently for a web app and geospatial projects. I am available for freelance job or for a position in a company (Europe, Asia or US). Languages: French (native), English and Spanish.
    • Lucas Peres (mysyfy [at] gmail [dot] com): freelance developer with symfony as preferred framework. Already full developed middle port symfony based websites for UK and Brazil. About 6 projects (up to sep/07) live based on symfony.
  • New symfony blogger:


  • New plugins
    • sfJobQueuePlugin: enables job queues into Symfony. It includes all the common job queues tasks (start, stop, scheduling through job election strategies, etc.), command line tasks, and a graphical interface for managing queues and jobs.
    • sfTexyPlugin: allows you to parse and convert text written with Texy! syntax into XHMTL
    • sfPropelActAsRecommendableBehaviorPlugin: implements a behavior that permits to recommend objects (Digg-like)
    • ddJQueryCalendar: add the jQuery calendar component
    • sfGravatarPlugin: integrate Gravatar.com on your website with local caching function
    • Initial entry of sfBenchmarkPlugin: provides the most useful of information possible via a simple pake task and/or a Javascript/Ajax-based backend.
  • Updated plugins
    • sfMogileFSPlugin: refactored internals; added new connection class; updated README to include a lightweight php and mod_rewrite example, more refactoring; lots more unit tests; replaced connection class with a request class, fixed bug when request only returns a status code; updated README; changed tag to Beta
    • sfSimpleForumPlugin: fixed indirect modification of overloaded property
    • sfPropelPollsPlugin: added an active field to handle voting availability for a given poll, began user vote auth policy abstraction, admin module cosmetic enhancements, big refactoring to handle cookie based or custom user table PK auth.
    • sfDoctrine: added support for fixed and unsigned types, updated to latest doctrine revision
    • sfLucenePlugin: added sfLuceneCriteria class (similar to Propel Criteria), moved loading of Zend libraries to config/config.php, updated actions to use new sfLuceneCriteria class, moved Zend library to vendor directory to conform with symfony file structure better, finished unit tests for sfLuceneCriteria, released 0.0.5
    • sfPropel13Plugin: added externals and base pake tasks, updated phing external, most of the pake tasks from Propel 1.2 copied and functional, crud and admin generator implemented
    • sfAjaxWebDebugPlugin: bugfix, released 0.2.0 version
    • sfGuardPlugin: fixed 'secure' action in sfGuardPlugin do not need to be secure (closes #2254), fixed typo in secureSuccess template (closes #2260), released 1.1.12 version
    • sfMemcachePlugin: possible Version 0.3 (Session + View Cache Included)
    • sfPDFLatexPlugin: added "background pdf"
    • sfDoctrineSimpleCMSPlugin: query error in getLatest() fixed, changed executeEmbed() to use Doctrine
    • sfPropelActAsRatableBehaviorPlugin: added Fabian Lange patch to allow ratings details retrieval, removed sfPropelActAsRatableBehavior::isRatable() buggy method, big behavior refactoring, with model and API BC
    • sfPropelPlugin: fixed phing loading
    • sfXSLTViewPlugin: released 0.0.5 version
    • sfWebBrowserPlugin: added sfWebBrowser::head() method and unit tests
    • Updated documentation of sfShortcutsPlugin
    • Deprecated sfFeedPlugin (use sfFeed2Plugin instead)

Some new symfony powered websites

  • Apuestta: (spanish) sports betting stats and information
  • SourceForge.jp Project Wiki: (japanese) Wiki system for projects hosted on SourceForge.jp
  • iCall Phone Cards: international prepaid phone cards & calling cards online. E-commerce engine for multiple domains each with a different product sets.
  • EDUCANUAIR.info: (french) first Public School Directory in France
  • Camping du Domaine de la Mott: (french) domaine de la Motte website with news, calendar, mailing-list
  • SENCOMCOM: (french) mirror web site for consulting various suppliers products
  • fd multimédia: (french) web agency
  • IhouseU: music related content publishing, clubbing calendar for UK venues
  • CS-4U: a billing system for utilities (water and electricity)
  • Lyrics Fever: british lyrics site
  • Schlitter - Bienes Raíces: mexican real state company offering properties for sale and lease.
  • BearTrainer: wellness Program for Big men
  • BHP MAX Niedzielscy s.j.: (polish) workwear dealer
  • consense-service.de: (german) service provider for marketing, it-development, office organization, finances and controlling located in Frankfurt am Main.
  • Message-error.com: (french, English) solutions resources for errors messages met on some platforms and Symfony

They talked about us


Can't wait to see form/validation/update cycle rewritten from scratch in Symfony 1.1/2.x. Come on, guys... Easy-CRUD should be the forefront feature of a web framework.

Comments are closed.

To ensure that comments stay relevant, they are closed for old posts.