Dependency Injection, one of the key components of Symfony2, was heavily refactored during this week. Meanwhile, four new blogs joined to the hundreds of sites that blog regularly about symfony.

Development mailing list

Development highlights

Symfony 2.X branch:

  • ab26f9f: [OutputEscaper] moved __get() from Escaper to ObjectEscaper
  • fe7e01c: [OutputEscaper] added magic __isset() method to object escaper
  • 0fbb1b9: cleaned up the DI extension loading mechanism
  • 4375594: replaced Container->hasParameter() with Container->getParameterBag()->has() in ExceptionFormatter
  • 44a16fc: [Finder] fixed exclude iterator (now only match with the relative path)
  • fb4bd35: refactored the controller manager, moved generic parts to the HttpKernel component
  • 0163178: changed the BundleInterface::buildContainer() signature
  • b8f29f1, 6462814, 826e615: [Framework] cleaned up command registration magic
  • 92130c3: updated bootstrap.php
  • 7796eb2: merged BuilderConfiguration and Builder classes into a new ContainerBuilder class
  • 6bad580: [DependencyInjection] moved ContainerBuilder::resolveValue() to ParameterBag
  • 47fd5e8: [DependencyInjection] fixed placeholder management in parameter values
  • 2a051b5: moved DI extensions classes to their own sub-namespace
  • ca87621, 1dd5b61, 44757b0: [DependencyInjection] added a check for the class name when dumping a container to PHP
  • 82ec700: [Console] fixed InputDefinition setArguments must reset hasAnArrayArgument

...and many other changes

Development digest: 78 changesets, 15 bugs reported, 25 bugs fixed, 2 enhancements suggested, 1 enhancement closed, 2 documentation defects reported, 1 documentation defect fixed, and 15 documentation edits.

Documentation

New Job Postings

New developers for hire

  • Theodo: Based in Paris, Theodo is a development company specialised in symfony with a team of experts who have been using symfony full-time for at least two years, 1.0 to 1.4, Doctrine and Propel. Theodo has accompanied large clients on complex web projects from the technical specifications to the delivery.

New symfony bloggers

Plugins

  • New plugins
  • Updated plugins
    • sfTemplatingPlugin: use sfParameterHolder for parameters, improved phpdoc consistency, added HTML templating engine, added sfTemplatingTemplateRenderer class, added template renderers, improved API extensibility, added configuration for template directory, added template filesystem loader, improved filesystem loader path prefixing, refactored HTML escaping from engine to renderer, made layout extending more flexible
    • sfEnvironmentFixturesPlugin: corrected pear install instructions, new function names to avoid collisions, fixed recursive loading issue, fixed double plugin loading issue, refactored to allow other plugins to determine environment fixtures directory
    • pmPropelGeneratorPlugin: tweaked styles, added disabled buttons on conditional actions, added show as a default object_action, fixed internationalization error, fixed show and new action, bugfix when disabled actions throws errors, bugfix on show_when statement
    • sfPhpunitPlugin: added post-install hook, added alias to phpunit:runtest task
    • lyMediaManagerPlugin: existence of media root directory is now checked in controller, created form to add a subfolder directly from icons view, created form to upload a file directly from icons view
    • sfDoctrineJCroppablePlugin: added a validator to check for bad crop selections, stopped failing on missing images
    • ExtjsGeneratorPlugin: added a way to update records from the grid, added query_method support to combo action, made remote combo's the default, enabled remote combo's for the filterpanel, refactored ExtjsGenerator::getFormCustomization, started implementing remote combo filtering, cleaned up unused attributes in some of the widgets, added support for paged remote combos, added app.yml options for export and remote combos, fixed a bug with boolean columns that had a renderer, refactored renderField and getColumnGetter, fixed a bug in columnmodel generation for foreign keys with plugins, fix to get column getters when not in the fields list
    • sfDoctrineActAsTaggablePlugin: created a new tagWidget that is more robust, added tag-input classname to the input for the new tag widget so that it is compatible with pkTagahead if necessary
    • csDoctrineActAsSortablePlugin: fixed useless ORDER BY in UPDATE query
    • sfTrafficCMSPlugin: fixed bug in date format
    • sfPropelActAsCommentableBehaviorPlugin: major restructuring to take advantage of Propel15 features
    • sfGuardPlugin: fixed random generator for RememberMe keys, added missing file in package, made sfGuardFormSignin more flexible (also extends the BaseForm class now), added missing connection parameters, fixed inactive users can still login to the system
    • sfProjectAnalyserPlugin: added analysis of lib class of project
    • sfDoctrineGuardPlugin: fixed random generator for RememberMe keys
    • sfJqueryFormValidationPlugin: fixed invalid error reporting setting
    • apostropheBlogPlugin:
      • author field should be unset when not logged in as an admin
      • fixed a bug designed into the blog sidebar relating to tags and the way the blog admin handled form submissions for the page
      • fixed a bug created from bringing over the new tag widget
      • brought new tag widget over to Events
      • when slugifying a blog post we need to unescape the HTML first as the slugifier expects a real UTF8 string
      • fixed categories bug where the permissions check was not wrapped around the edit button
    • apostrophePlugin:
      • aUserAdmin now uses a filter subclass that removes most fields preventing explosive memory use when interesting relations are added
      • group admin needs manageable memory usage too
      • getAncestorsInfo now has an optional $livingOnly flag to return only ancestors that are not archived
      • getAccordionInfo no longer returns archived ancestors when $livingOnly is true
      • added a class to the image slot so that it mimicks the slideshow slot 'a-image-meta'
      • fixed a bug with the title being a link in the feedItem template
      • updated the aFeed slot to accept options for passing attributes and styles through the feed in addition to just markup
      • you can now edit a previously cropped slideshow properly
      • createCrop replaced with findOrCreateCrop which doesn't generate a duplicate slug error when you crop to the same size you had before
      • implemented executeUpdateMultiplePreview, now you get a crop preview when you add that first image to the slideshow
    • sfAdminDashPlugin: changed admin header link to new homepage_url property
    • vjCommentPlugin: adjust schema for the new sfDoctrineGuardPlugin version

New symfony powered websites

  • WithFit: (English) WithFit helps you track, improve, and share your fitness. It's completely free and easy to use.
  • Taraftarsan: (Turkish) A Football Social Network

They talked about us

Published in #A week of symfony