Symfony Framework Evaluation

Introduction

As typical of most frameworks, Symfony's primary goal is to speed creation of your web application; though they also have a focus on maintenance. They boast of a low learning curve, intuitive interface, and few prerequisites for installation.

Symfony is very flexible and easy to customize and comes bundled with a number of resources for testing, debugging, and documentation.

Use this space to introduce Symfony to the community.

Symfony Homepage

Symfony Wikipedia

Features

We're still working on the details of this section based on our testing. More details will be available 2/34/2010.

Data/ORM

Symfony primarily uses Doctrine as it's ORM client, with an alternative out-of-the-box option of Propel; however, other clients can also be used. Doctrine has a great tutorial/walk-through here: http://www.doctrine-project.org/documentation/manual/1_2/en

Development

Please reference the Development evaluation on the Sahana Framework Evaluation

Documentation

Please reference the Documentation evaluation on the Sahana Framework Evaluation

Administration

Please reference the Administration evaluation on the Sahana Framework Evaluation

Features

Please reference the Features evaluation on the Sahana Framework Evaluation

Optimization/Efficiency

Please reference the Optimization and Efficiency evaluation on the Sahana Framework Evaluation

Installation

Major Implementations

Have their been any major implementations of this framework? Was a significant program or project developed with it? Link or list the details here for some more credibility.

Evaluation and Testing

Have you tested the framework with Sahana? Please detail your testing for others to review and replicate. Be sure to include a label on your results so in the event of another persons testing more than one group can share.

NYC OEM & SPS Testing

NYC evaluated Symfony version 1.4, which runs on php 5.24. The LTS (Long Term Support) is available through Nov. 2012, beyond that there is a paradigm shift to php 5.3; meaning backwards compatibility will be broken in Symfony 2.0; though this is typical of other frameworks.

Goal of Testing

Test Doctrine ORM with a basic front end application

Source Code

On Test Bed

Guidelines

php 5.24, Symfony 1.4, doctrine 1.2, mysql 5+

Process

A default Symfony 1.4 install has been brought up, a doctrine ORM instantiated with the Sahana 0.6.2.2 schema running on a MySQL installation. We are easily able to manipulate values through the front end using objects, this is a shift from current pseudo objects being used in Sahana currently.

References

Results

NYC OEM & SPS' test results of a simple application on symfony 1.4 proved successful, further load testing should be performed, and a functional test to touch on all aspects of core Sahana functionality

Questions and Discussion

Do you or anyone else in the community have open questions on this framework? You can post your own questions for discussion or this space can be for others to ask you from.

Symfony Quirks

Symfony and Doctrine have some noteworthy quirks in the area of database design.

Primary Keys

If a primary key is not assigned to a table, one will automatically be created and named id.

Name Column

If a column named name is not included in a table, symfony will not display the appropriate label for that table's entries when the xxx_id column of that table is used as a foreign key in another table. Instead, all selectable labels will read “No description for object of class “Evacuee” (this example is from the evacuee_mj_language module/table in Nils' demo installation of symfony. Since an evacuee is identified by a given_name and a family_name, there is no name column in the evacuee table and the join table is not able to fill its field correctly).

IDs are properly matched though, and there are simple workarounds that can be implemented.


Navigation
  • Navigate