Cover of the book Symfony 5: The Fast Track

Symfony 5: The Fast Track is the best book to learn modern Symfony development, from zero to production. +300 pages showcasing Symfony with Docker, APIs, queues & async tasks, Webpack, SPAs, etc.

A week of symfony #219 (7->13 March 2011)

This week, the echoes of the last Symfony Live conference still resonated in the symfony community. Meanwhile, Symfony2 switched most of its methods and properties from protected to private, a decision made to ease its maintenance that generated a lengthy and heated discussion on the mailing list. Lastly, in the last weekly IRC meeting core developers decided that "there won't be any other big change before Symfony 2.0 version, no matter what".

Development mailing list

Symfony2 development highlights


  • b80f307: [HttpKernel] got rid of url transformation into uri, as parse_url doesn't work with uris
  • bf18183: [FrameworkBundle] don't hide logs by default in exception pages
  • 4f15840, ed09566: [webProfilerBundle] updated the 'token not found' page with the new design
  • 69ad4e4: [FrameworkBundle] added an exception to help with bad configuration and filled in some missing tests
  • d171eaf, 62341e5: [WebProfilerBundle] display the number of log entries together with the number of errors (reverted)
  • de6c353: [DependencyInjection] made compiler lazy again since there are many temporary ContainerBuilder objects that don't use it
  • 94c4459: [Yaml] moved most protected methods and properties to private
  • 75b29ff: [Translation] moved most protected methods and properties to private
  • c9b965d: [Finder] moved most protected methods and properties to private
  • 32d2ec7: [ClassLoader] moved most protected methods and properties to private
  • 95a2f17: [DoctrineMongoDBBundle] rewriting several getParameter() calls to use the parameter %wildcard% syntax instead (this is best-practice)
  • a135004: [DoctrineMongoDBBundle] initial use of the new Configuration class for DoctrineMongoDBExtension
  • 42a0b22: [DoctrineMongoDBBundle] removed the excess 'connections' and 'document_managers' wrapper in XML. This was inconsistent and made normalization unnecesarily difficult
  • bdd2336: [DoctrineMongoDBBundle] removed the doctrine.odm.mongodb.metadata_cache_driver parameter
  • 9179168: [DoctrineMongoDBBundle] renamed extension method to overrideParameters(), which is truer to its name
  • 9ca8f17: [DoctrineMongoDBBundle] removed the default_connection DI parameter, which was never used as a parameter
  • 1e492e2: [DoctrineMongoDBBundle] refactored how the document_managers are loaded in the Extension and removing two unneeded DIC parameters
  • 0fe6f13: [DoctrineMongoDBBundle] added a full config example in YAML
  • c9ab593: [WebProfilerBundle] always remember the query including the token
  • f49a30c: [WebProfilerBundle] better handling of queries with an empty result
  • 652bca1, 477109f: [DoctrineBundle] added a Configuration class for DoctrineBundle and refactored the extension to use it
  • 0d0f053: [DoctrineBundle] updated the XSD schema
  • 527749c: made mandatory to have at least one entity manager when using the ORM and one connection when using DBAL
  • e522424: [DoctrineBundle] changed default logging param to kernel.debug and fixed container unit test
  • d698baf: [FrameworkBundle] optimized the debug event dispatcher to avoid instantiating every listener every time
  • 88cfc4c: [Form] added exception for missing enctype attribute
  • 17ef911: [Routing] removed the normalizeUrl() method and renamed url to pathinfo as this is more correct
  • dded195: [Routing] fixed the / problem in a URL segment
  • 1d5538f: changed AccountInterface to UserInterface and SecurityContext::vote() to SecurityContext::isGranted()
  • e3e60f1: [DoctrineMongoDBBundle] removed the short syntax for the configuration
  • ec46c6e, 51106a8: [DoctrineMongoDBBundle] made queries in profiler look like mongodb js shell code
  • 4dd45d3: removed the short syntax in DoctrineBundle
  • 3d97638: [Security] refactored remember-me code
  • d8022e3: [Security] removed event
  • c2e9dd2: [Console] fixed synopsis when an error occurs
  • b940cc6: moved most protected to private in the Console component
  • f321fad: [DependencyInjection] moved most protected things to private
  • c8c5720: [DomCrawler] moved protected to private
  • bc6ffee: [HttpFoundation] fixed flash management
  • 8421f95, 48c222d, 92acd46, e0b46fe: [WebProfilerBundle] fixed WDT to keep the current flashes for one more request
  • 757e4ea: [ClassLoader] created protected findFile() method to allow creating a cache layer via inheritance
  • 441a154: [ClassLoader] added an apc class loader
  • 7b3fbb4: [DoctrineMongoDBBundle] made it possible to disable logging
  • a809453: [Console] added ability to define custom regex's for style placeholders
  • 70867f0: [Security] re-added a __toString method for debugging purposes
  • 411a382: [Serializer] fixed XmlEncoder for single char tags
  • d9ffa42, 823d699, 974f64c, 0f255aa: [FrameworkBundle] added french validators translation
  • 87cc306: [FrameworkBundle] added slovenian validators translation


New developers for hire

  • Bytes Technolab: Software development company based in Ahmedabad (India). We are specialization in symfony development, large scale symfony based enterprise applications and Symfony based rapid application development for quick turn around time. We are equipped with highly skilled Symfony developer with more than 4 years of symfony based development experience.

New plugins

  • drI18nRoutingExtract: It provides a task that walks through all the routes in your application and extracts all translatable parts and saves them to an I18n messages catalogue called routing. It works together with the zxI18nRoutingPlugin.
  • drDoctrineCompile: provides a doctrine:compile task which automatically compiles Doctrine classes for the database drivers you are using in your project.
  • MOvEJQueryUI: provides widgets and helpers so you can easily integrate jQueryUI into your symfony project. Branched from sfJQueryUIPlugin.

Updated plugins

  • sfDoctrineRestGenerator:
    • fixed an error when parsing one node only XML (the node is shifted, we want to keep it)
    • fixed an error when parsing a space only SimpleXmlElement
    • harmonisation of methods for obtaining the payload and restored the broken backwards compatibility
  • sfShibboleth:
    • Shibboleth filter now works with newer sfDoctrineGuardPlugin - generates an email address (a bogus one) based on the username to avoid Doctrine errors
  • pmPropelGenerator:
    • try catch was added in batchDelete wrapping the 'object->delete' section
  • sfDbQuickAccess:
    • improved error handling when using non existing database
    • added error message in view
    • made it easier to change the database
  • ynWidgetAjaxAutocomplete:
    • added support for automagically passing HTML attributes from widget
  • sfOrmBreadcrumbs:
    • added translation
  • sfDependentSelect:
    • added english documentation
  • apostrophe:
    • fixed notice error on non existent item element
    • replaced getMatchingEnginePage with getMatchingPageInfo for a memory usage reduction & slight speed boost when engine pages are present
    • fixed support for disabling password and is_active fields (for compatibility with Shibboleth plugin)
    • apostrophe now recognizes and generates YouTube's new iframe embed codes
    • put the user admin categories and group lists in alphabetical order
    • added an aWidgetFormMediaSelector to allow selection from a form
    • fixed url generation for all aMedia*
    • added fancybox effect
    • added the missing redirection action required by the aWidgetFormMediaSelection
  • apostropheBlog:
    • blog feed items were not getting the correct publish date
    • updated dateRange to have a few spans around each item with class names
    • stripped spaces between the time and AM/PM if app.yml has pretty dates = true
    • put the blog slot edit form category lists into alphabetical order
    • fixed blog category mapping migration when there are mappings that point to dead posts
    • added a third parameter to getRichTextForArea in the blog to accept an array of slot types you would like to vacuum text from
  • apostropheExtraSlots:
    • inset area slot is 90% functional
    • changed richtext toolbar to sidebar for the inset slot
    • added options for edit and slug in area template
    • reworked the richtext for the slot to not store its value in an array and instead store it flat

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.


Comments are closed.

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