Fabulous PHP frameworks: Symfony

Symfony offers extensive features such as excellent debugging and logging, but the learning curve is steeper than most

Symfony, sponsored by Sensio Labs, is a well-known PHP framework that integrates a number of open source PHP projects. (For example, Symfony uses the Zend framework's logging system.) Conversely, some Symfony components are available as stand-alone libraries from the Symfony components website. The current version (1.4.8, at the time of this writing) is written in PHP 5, and requires PHP 5.2.4 or later.

Symfony demands a bit more of a learning curve than the other Web frameworks. If you're new to Symfony, working through the Getting Started tutorial is highly recommended. Fortunately, the Symfony website provides a prebuilt, easy-to-understand application called the "Symfony sandbox." Just download it, unzip it in your Web root, and it's ready to run. The application is preconfigured to use the SQLite database engine (though you can configure the application for a different database engine) and provides a fine way to explore a Symfony application without having to construct one yourself.

Symfony's command-line tool (called, fortunately, "Symfony") will generate application components and jump-start development for the whole application itself. For example, to create the default directory structure and base files for an application project named Album_Project, you enter:

php symfony generate:project Album_Project

Symfony environments and tools
Symfony recognizes four different "environments" in which an application executes -- development, test, staging, and production -- and makes it easy to accommodate each one (you need merely change a setting in the front-end index.php file). Different features are enabled or disabled depending on the environment you've set. For example, if an exception occurs in the development environment, Symfony will display extensive stack trace information on the Web page -- which would never be permitted in the production environment.

Test Center Scorecard
  40% 25% 25% 10%  
Symfony 1.4.8 9 7 9 9


Very Good

1 2 3 Page 1
Page 1 of 3
InfoWorld Technology of the Year Awards 2023. Now open for entries!