Welcome!

AJAX & REA Authors: Lee Novak, Alin Irimie, Jonny Defh, RealWire News Distribution, Brandon Watson

Related Topics: AJAX & REA

AJAX & REA: Article

PHP AJAX Framework Symfony 1.0 Beta Released

Framework for PHP5 Projects Speeds up the Creation and Maintenance of Web Applications

symfony, the popular PHP Ajax framework, has released a beta of their 1.0 framework. Documentation lead Francois Zaninotto made the release announcement in his blog recently. Symfony is a web application framework for PHP5 projects. It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.

Zaninotti’s blog announcement listed the following new features in 1.0:
• Easier installation and larger compatibility. Symfony is now compatible with magic_quotes_gpc set to on and PHP 5.2. Pake and phing are now bundled with the core classes, so symfony has no more external dependency. It is very easy to link a symfony application to the symfony libraries (through the config/config.php file), and PEAR is no more a prerequisite. The symfony command line now works out the box (for PEAR, SVN or .tgz).
• Major performance improvement. Many parts of the code have been refactored, with performance in mind. The result is a performance increase of 50% to 500%, depending on user’s platform.
• New plugin system. Extending symfony has never been easier. A plugin can package classes, modules, helpers, filters, web assets, fixtures, data models, unit tests, and so on. Plugins can be installed with one command. Check the Plugins page for a list of already available plugins.
• New unit test library. Symfony is now bundled with its own unit and functional test framework, called lime, and a bunch of automated tests utilities, such as the sfTestBrowser and sfDomCssSelector classes. Symfony itself has more than 2800 unit and functional tests that guarantee its quality of code.
• Updated default pages for error 404, error 500, insufficient credentials, unavailable page, and deactivated application (thanks justinm for the design!). These pages are both much nicer and much easier to customize than before.
• Easier templating. Components and components slots now work perfectly on every situation, even with cache set to on. Their code was refactored to be fast and effective. The new temlate fragment tools, called slots, are faster than component slots, require no extra file or configuration to add a dynamic zone to a layout. And the icing on the cake: Ajax actions have no layout by default.
• Better and more flexible Model layer. Symfony is now ORM independent: it is still bundled with Propel by default, but can work with others (such as Doctrine) in a snap. Database schemas can now be written in YAML instead of XML. Persistent support and specific database encoding are now supported natively.
• New mixin feature. The sfMixin class introduces mixins in PHP, allowing core classes modification without inheritance, addition of new methods to existing classes, and multiple inheritance.
• New behaviors for Propel classes. A behavior is a group of properties and methods that can alter the Propel generated classes. To make a Propel class sortable, to add a pessimistic lock, or to change the deletion by a is_deleted flag, developers now need only one line of code with behaviors. More user-friendly development tools. The symfony logs and the web debug toolbar now display more information about time and execution bottlenecks, thanks to the new sfTimer class. The symfony command line now has a color output (in *nix). The logging mechanism (via the sfLogger class) is more flexible and easier to extend. Logs rotation and cleaning are automated.
• More flexible filter system. User filters can now be registered anywhere in the filter chain (even before the security filter).
• New many-to-many relationships are now supported in the admin generator.
• Easier deployment. The freeze task is implemented and fully functional. It transforms a symfony project into a self sufficient program by adding in the symfony libraries and assets.
• Updated creole, Propel, script.aculo.us (1.6.5) and prototype (1.5.0_rc1)
• And more than 200 bug fixes and small enhancements

The very small number of prerequisites make symfony easy to install on any configuration; one just needs Unix or Windows with a web server and PHP 5 installed. It is compatible with almost every database system. In addition, it has a very small overhead, so the benefits of the framework don't come at the cost of an increase of hosting costs.

Using symfony is quite easy for people used to PHP and the design patterns of Internet applications that the learning curve is reduced to less than a day. The clean design and code readability will keep your delays short. Developers can apply agile development principles (such as DRY, KISS or the XP philosophy) and focus on applicative logic without losing time to write endless XML configuration files.

Symfony is aimed at building robust applications in an enterprise context. This means that developers have full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized. To match the enterprise's development guidelines, symfony is bundled with additional tools helping users to test, debug and document their projects.

More Stories By RIA News Desk

Ever since Google popularized a smarter, more responsive and interactive Web experience by using AJAX (Asynchronous JavaScript + XML) for its Google Maps & Gmail applications, SYS-CON's RIA News Desk has been covering every aspect of Rich Internet Applications and those creating and deploying them. If you have breaking RIA news, please send it to RIA@sys-con.com to share your product and company news coverage with AJAXWorld readers.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
ajax news desk 12/19/06 02:59:53 AM EST

symfony, the popular PHP Ajax framework, has released a beta of their 1.0 framework. Francois Zaninotto made the release announcement in his blog recently. Symfony is a web application framework for PHP5 projects. It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.

ajax news desk 12/19/06 02:59:35 AM EST

symfony, the popular PHP Ajax framework, has released a beta of their 1.0 framework. Francois Zaninotto made the release announcement in his blog recently. Symfony is a web application framework for PHP5 projects. It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.