A week of symfony #73 (19->25 may 2008)

This week, symfony beat another development activity record with more than 210 changesets. Moreover, hundreds of framework's files have been improved with more detailed phpdoc information. Lastly, Symfony has established another awesome milestone with more than 400 public websites made with the framework, including some colossal Yahoo! web applications with more than 100 million users.

Development mailing list

Development highlights

  • r9044, r9045, r9046, r9047, r9048, r9051, r9060, r9061, r9075, r9076, r9078, r9079, r9080, r9081, r9083, r9084, r9085, r9086, r9087, r9089, r9090, r9091, r9097, r9098, r9101, r9123, r9128, r9131, r9132: [1.1] fixed @param phpdoc to fit specs in actions, forms, widgets, views, escaper, validator, util, user, lib/test, autoload, command, controller, debug, exception, log, addon, cache, config, database, filter, storage, routing, response, task, request, helper, generator, i18n, plugin and sfPropelPlugin.
  • r9054, r9055: [1.0, 1.1] fixed notice when either from or to option in date range tag was not set
  • r9062: [1.1] added mbstring support in text helpers (if mbstring is available)
  • r9069: [1.1] added test for truncate_text helper + silenced possible notice
  • r9124: [1.1] fixed propel base task from creating duplicate schema
  • r9144: [1.1] created sfMySQLiDatabase that inherits from sfMySQLDatabase but uses some different method names
  • r9145: [1.1] fix for non web environments. sfFactoryConfigHandler called getMethod and setHeaderOnly also on non web objects causing in fatal errors
  • r9146: [1.1] fixed double-loading of core_compile.yml.php file
  • r9150: [1.1] added an exception if the sfValidatorPropelUnique is not used as a post validator
  • r9158: [1.1] fixed sfOutputEscaper* to return isset($var[index]) correctly
  • r9159: [1.1] fixed factory config handler possible fatal
  • r9172: [1.1] fixed mysql* storage test + memcache cache test (skip if server not running)
  • r9173: [1.1] fixed attributes in date time widgets
  • r9176: [1.0] fixed include_remove in admin helper
  • r9181: [1.0] fixed phpmailer EOL line style using now PHP_EOL constant
  • r9186: [1.1] fixes urls treated as key: value mappings in yaml, as the parser did not require a space after the colon
  • r9191: [1.1] fixed sfConfigUpgrade to allow optional whitespaces after the closing PHP tag
  • r9207: [1.1] fixed autoload again in dev environment
  • r9208, r9209: [1.0, 1.1] added third mode for fillin xhtml, same as xml but without prolog (+test)
  • r9216, r9217: [1.0, 1.1] fixed fillin bug with html documents having extra attributes in head tag
  • r9232: [1.1] fixed php warning displayed when checking if a Propel object is being updated and bound values array doesn't actually contain its primary key reference
  • r9238: [1.1] added an $attributes parameter to sfFormField::renderLabel() and sfWidgetFormSchemaFormatter::generateLabel() methods
  • Updated dwhittle branch
  • ...and many other changes

Development digest: 211 changesets, 49 defects created, 62 defects closed, 10 enhancements created, 12 enhancements closed, 1 documentation defect created and 6 documentation defects closed.

Book and documentation


  • New Job Postings:
    • Symfony developer @ Ecomibérica - full-time based in Braga, Portugal - Contact: rui.scrivner [at] gmail [dot] com
    • PHP / Symfony Developer @ www.onlineflex.de - freelance based in Munich, Germany - Contact: obs [at] onlineflex [dot] de
    • Symfony and general PHP developer @ ARTACK WebLab GmbH - freelancer, flexible working hours, remote working possible - Contact: info [at] artack [dot] ch
  • New developers for hire:
    • Jacob Coby: freelance developer with 7 years experience building database-driven websites using PHP and MySQL/PostgreSQL, and have been using Symfony for over 2 years, starting with 0.6. I live in North Carolina, USA. Contact: jcoby [at] portallabs [dot] com
    • Marc Montañés - more than 6 years of experience in web development with PHP and other languages (Java, Perl). Up to 5 projects projects already done with Symfony (CMS, small ERP, accounting program) - based in Premia de Mar, Barcelona, Spain
  • New symfony blogger:


  • New plugins
    • sfBreadcrumbsPlugin: generates breadcrumbs links using rules defined in a yaml file
    • sfXssSafePlugin: outputs rich text with cross site scripting protection. It provides a new escaping strategy, ESC_XSSSAFE, to escape tainted HTML strings entered by users.
    • sfAdvancedConstPlugin: provides application wide constants functionality
  • Updated plugins
    • sfExtjsThemePlugin: reimplemented updateDB to save changes from grid, added getters and some properties, changed xtype and modulename -naming, fixed link-renderers in grid and calling of typeof
    • sfWebBrowserPlugin: added curl options support for ssl authentication, added headers conditional addition
    • sfDoctrinePlugin: some Doctrine related fixes, fixed missing sfValidatorDoctrineChoice.class.php in lib/validator/, fixed class sfValidatorDoctrineChoice appears to be missing
    • sfPropelEventsPlugin: updated peer builder to add behaviors to the new sfPropelEvents class, which runs alongside sfPropelBehavior, released 0.1.0-alpha, 0.2.0-alpha and 0.3.0-alpha versions, added support for symfony 1.0, added logic to test whether a behavior has been added to a class, exposed all internal collections, fk objects and last criteria objects to method_not_found event, added extension of sfEvent which can carry modifications to protected variables back to the object, updated object builder so all events include an arguments parameter instead of one parameter for each standard Propel argument
    • sfSslRequirementPlugin: fixed coding standards, added branches, trunk, and tags for 1.1 support, added the 1.1 version of the plugin
    • sfSpyPlugin: made jQuery inclusion optional, made the backend module customizable, catch and report post requests
    • sfYUIPlugin: changed datatable helper to support multiple includes on the same page, fixed datatable if there are no records to show empty table, allow for multiple data from multiple tables in one datatable when pulling from doctrine
    • sfPropelPlugin: fixed include_paths to use real absolute path, fixed propel base task, added example configs + README
    • sfFeed2Plugin: fixed sfFeed returning incorrect encoding when extra xml attributes are present
    • sfPropelPollsPlugin: released 0.6 version
    • dwJpgraphPlugin: sync jpgraph libs + updated package.xml, released 1.0.2 version
    • sfLucenePlugin: updated path to zend framework, changed Zend_Search_Lucene svn:external in trunk to Zend Framework trunk, initial + primitive implementation of xfLuceneTokenizer, fixed Zend_Search_Lucene loading, fixed Zend_Search_Lucene to load only once
    • sfSimpleBlogPlugin: added Spanish and Finnish translation to sfSimpleBlog
    • sfPluginManagerPlugin: moving cvPluginBuilderPlugin to sfPluginManagerPlugin branch
    • sfSimpleCMSPlugin: added italian translation to sfSimpleCMSPlugin
    • sfPropelMigrationsLightPlugin: made sfMigration::addColumn working, added package template for sfPluginManagerPlugin, removed package.xml since it is generated automatically, released 1.0.1 version
    • sfSearchPlugin: made xfDocument field names case insensitive, renamed search:rebuild task to search:populate
    • sfPropelSearchPlugin: added restoration retort to retrieve Propel model from a search result (supports composite keys, works in Propel 1.2 and Propel 1.3)
    • sfSimpleForumPlugin: updated spanish and german translation
    • sfGuardPlugin: fixed schema for IPv6
    • sfPropelActAsRatableBehaviorPlugin: use use_helper instead of sfLoader::loadHelpers to not run into trouble with no i18n, reduce db calls
    • sfPropelActAsTaggableBehaviorPlugin: fixed reference argument error

Some new symfony powered websites

They talked about us

Help the Symfony project!

As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.


I LOVE Symfony
I LOVE my girlfriend

Comments are closed.

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