Blue Horn

Symfony Framework

Why I like Symfony Framework

December 4, 2008 by Sid in Symfony Framework with 0 Comments

I have been doing Java programming for quite a few years. Java is where I got my OOP lessons from and it just makes sense to me, from the multi-threading model, interfaces, abstract classes, encapsulation, to the bean.

I became known as Java man, because 1) I was born in Java island, 2) I program Java, 3) I can speak Javanese, and 4) even though unrelated, I also do Javascript.

On the other hand, I have also been doing a bit of PHP4. Coming from a Java background, PHP4 Object Oriented seems backward, but I love the flexibility of PHP and how it feels right for developing websites.

So when PHP5 with java like OO features was released, I was very ecstatic (in a normal kind of way). And since then I’ve been looking for a PHP framework that takes full advantage of that java like OO features. I tried few frameworks before currently settled with Symfony Framework.

Symfony Framework is a full-stack (comprehensive and complete) framework written in PHP5 that take advantage of the Java like OO of PHP5.

Here’s few things that I like about Symfony …

Well known PHP libraries in one framework

Symfony Framework does not reinvent the wheel like many other frameworks, instead it integrated the best breed, well known, and matured PHP libraries like PEAR, Propel, Phing, and more. I’ve used PEAR in many occasions before started with Symfony. I’ve also used ORM (what Propel is) and have used Apache Ant (what Phing is based on). So although I still had to spend time learning Symfony, I was already familiar with its components.

Plugins

Symfony supports plugin and hence there are so many plugins available for Symfony. There are plugins for YUI, Extjs, Doctrine, Smarty, Prototype, JQuery, and more.

There are also high level plugins to add complete features to a Symfony project like:

  • User management plugin
  • CMS plugin
  • Blog plugin
  • Forum plugin
  • Wiki plugin
  • Media assets management plugin
  • Lucene plugin
  • And many many more

All of those are available to every Symfony developers list of arsenal. Plugins can be installed into Symfony project manually or via PEAR.

Scafolding

One of the best features of Symfony is its CLI commands. You can start a Symfony project in seconds. Just type a command line and all the skeleton of your project is created for you (including skeleton for your project’s unit tests). No need to reinvent your own file structures, but if you’re not happy with Symfony’s default file structures, you can change it.

Works well with Eclipse

This one is quite a biggie to me. Eclipse is arguably the best free Java based IDE that has grown (so big) to support many (many!) programming languages including PHP. Personally, I use Eclipse PDT.

I particularly like the way Eclipse provides auto code completion for Symfony. It is able to parse the classes in your Symfony project and provides auto code completion for them. Notepad just doesn’t cut it any longer since I’ve used Eclipse.

However, there are tricks that you need to know to get Eclipse PDT to code completion all of your Symfony classes (will write in another post).

Used by big companies

I’d still use Symfony even if there’s no big companies are using it but it’s good to know that big companies are starting to notice this framework.

Open source (MIT License)

Last but not least, Symfony is open source which mean the community (thousands of developers) is able to help to maintain it.

So there you go, few things I like about Symfony Framework

Tagged ,

Related Posts

Leave a reply

Your email address will not be published. Required fields are marked *

*

five − 2 =

My Projects
Restaurant Websites
Websites