Symfony core refactorization accelerates as symfony 1.1 release approaches. This week, the routing system, the response object and the request object have been completely refactored.

Development mailing list

Development highlights

  • r4883: fixed fillInFormFilter can't find form with content_type = xml
  • r4885: removed sfActionStack::(g|s)etViewInstance methods and sfContext::getCurrentViewInstance() and replaced them with a 'view_instance' object stored in sfContext (this removes the dependency between the action stack and the view sub-system)
  • r4886: removed sfLogManager class and moved code to sfLogRotateTask
  • r4887: fixed some coding standards
  • r4890: refactored storage sub-framework (removed sfContext, sfConfig and sfDatabaseManager dependencies, added a new sfNoStorage to be able to disable sessions, added a new sfDatabaseStorage abstract class for all database based session storage classes, added unit tests, other fixes)
  • r4892: refactored routing
    • removed sfContext and sfConfig dependencies (the first parameter of sfRouting::initialize() is now an optional logger)
    • added sfPathInfoRouting
    • fixed sfNoRouting
    • added sfRouting::setDefaultParameter() and sfRouting::setDefaultParameters() (replaces the sfConfig::get('sf_routing_defaults') hack)
    • rewrote sfPatternRouting::getCurrentInternalUri() (and added unit tests)
    • added sfPatternRouting::setDefaultSuffix()
    • loading routing.yml in sfPatternRouting is optional (via the "load_configuration" parameter which is false by default)
    • added sfWebRequest::getGetParameters(), getPostParameters() and getRoutingParameters()
  • r4894: fixed routing default suffix + moved load_configuration parameter to factories.yml
  • r4895: refactored request and response classes
    • removed sfContext dependency for sfRequest (optional takes a logger and a routing object)
    • removed sfContext dependency for sfResponse (optional takes a logger object)
    • changed sfWebRequest::getError() to return non internationalized data (form_error() still returns internationalized data)
    • changed sfWebResponse::addMeta() to return non internationalized data (include_metas() still returns internationalized data)
    • removed the shutdown() method from request and response classes
    • added a way to remove a meta or http meta from the response (just set the value to null)
  • r4898: sfViewParameterHolder tweaks (removed sfConfig dependency, fixed some phpdoc, fixed serialization / unserialization, added unit tests for sfViewParameterHolder and sfEscapedViewParameterHolder)
  • r4905: fixed dumping Propel data to multiple files
  • Updated dwhittle branch
  • ...and many other changes

Development digest: 27 changesets, 16 defects created, 3 defects closed, 8 enhancements created, 1 documentation defect created and 29 documentation edits.

Book and documentation

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

Wiki

Plugins

  • New plugins
    • sfCssTabsPlugin: generates "Wordpress Admin" like tabs
    • sfPropelZSLSearchPlugin: integrates symfony, Propel, and Zend Search Lucene together to easily add a site search functionality to your application.
    • sfPropelTextOutputBehaviorPlugin: implements methods for XML and JSON output for Propel objects
    • sfTextReplacementPlugin: provides different methods to replace text with anti-aliased images which are generated on-the-fly (based on the article "Dynamic Text Replacement" at http://www.alistapart.com/articles/dynatext)
  • Updated plugins
    • sfThumbnailCachePlugin: added getWidth and getHeight methods
    • sfSimpleBlogPlugin: fixed number of comments displayed in post list, split the configuration into an application-wide and a project-wide file
    • sfSimpleCMSPlugin: fixed non-working default page for sfSimpleCMS module, fixed wrong token name for culture, removed editor CSS from pages in View mode
    • sfPokaYokePlugin: released 0.1.6 version (corrected a spelling error in the config handler)

Some new symfony powered websites

They talked about us

Published in #A week of symfony