Many developers and users already know symfony. If you don’t, check it out! It is one of the most popular and useful PHP frameworks that help ease the pain associated with building web-based applications. Many large sites and lots of smaller ones are developed using symfony, including our website and many of our internally developed applications.

One of the nice things about working with symfony is it’s decoupled nature. You can use the full-stack framework or, disable and use only parts of the framework that you need. You can use (or not use at all) different high-quality ORMs (like Propel and Doctrine). Continuing with this philosophy, the symfony project team lead by Fabien Potencier is releasing some of the components that will be powering the next version of symfony. The components are available independently, so developers may use them to suite specific needs in a given project.

Currently, from the published list, only the Yaml component is available for download. The rest will follow soon, and we expect they will have the same high quality of the symfony framework.

The components are:

YAML

Description from the site: Symfony YAML is a PHP library that parses YAML strings and converts them to PHP arrays. It can also converts PHP arrays to YAML strings.

Yaml is already used in symfony to define different configuration aspects of an application. It’s super easy to write and it gets converted to PHP code to acchieve excellent performance. By using this component, you can define the configuration of your application using Yaml even if you don’t use symfony. This is an excellent resource for any developer.

Event Dispatcher

Symfony already features a very powerful events system, which powers over 600 plugins. This has proven to be one of the keys to the success of the framework. We are sure that when this component becomes available it will provide excellent possibilties to enable applications to be extended and will allow developers to expand their systems features by accepting 3rd party plugins.

Dependency Injection

Fabien Potencier has been very active explaining what depency injection is and how it can help with complex development scenarios, linking and interfacing classes. He has also released what we think it is a mini version of the soon to come full component. As he said, the Dependency Injection component will be at the core of the next Symfony framework and we expect this to be a major resource for developers.

Templating

There has been a lot of discussion over the need of a templating engine in Symfony. It is now known that the next version of Symfony will include one, but it will be optional like most of the features of symfony, which is great for those that do need the extra complexity. This component means that there will be yet another option in the templating engine arena, where Smarty is probably the front runner.

Mysterious components

There are two other components listed in the page, without names or descriptions. We are very curious as to what these components will be. Knowing the current quality of the work being released by the Symfony project team, we are sure it will be exciting and we can’t wait to know more about them! If you know anything about them, or want speculate, leave us a comment.

Closing notes

As you can see, these are very exciting times for PHP developers, including those not using symfony. The components are and will be used within other frameworks, like Zend Framework, CakePHP and many others. They can also be used independently in small projects that use no frameworks at all. We are very excited about these developments and look forward for a very bright future of complex, powerful and amazing web based applications powered by these components. We will keep you updated when these components become available to the public.