Start networking and exchanging professional insights

Register now or log in to join your professional community.

Follow

What are the pros & cons of using a PHP framework such as Zend or Symfony for development?

user-image
Question added by Mahmoud Ghazal , Senior Agile Project Manager , Telstra
Date Posted: 2013/06/18
Abed Halawi
by Abed Halawi , Web Research & Development , Splendor Telecom

First off, Zend and Symfony have totally different purposes and targets.
Zend: Enterprise level framework with almost all functionality built into it.
Symfony: A bunch of modular components that can be used separately and also work magically when bound together.
Pros of using a framework: - Application structure and design: you already have a base structure that is ready to embrace any component coming in the future.
- Convenience: Almost any framework you use have encapsulated raw PHP functionality into fine-grained abstractions and presented them in elegant classes - Modularity: Every component does what it's supposed to do, and just that.
i.e.
Models are responsible for database interaction (abstracting ORM's and whatnot), Controllers handle the communication b/w Views and Models and handle responses to the client.
- Documentation/Maintenance: You're not going to be on that project forever, someone is going to either join you or take it off from where you reached, and you don't want to spend a month teaching about each and every single line of your code...
- Community: The cases and situations that the developers have gone through and found solutions for, which most certainly you will go through during your implementation.
Why re-invent the wheel right ? Cons: - Flexibility: Bound but not limited to standards.
You can't do whatever you want the way you want, however you still can achieve your goal exactly how you want though only with the convenience provided by the framework.
- Performance: If the architecture of the app is not well thought, you most certainly will hit performance boogers, the framework is tons of classes working together so if you're not careful what to load and when to load it you're gonna have a bad time when the app grows.
- Update/Upgrade: You better stay up-to-date with the latest versions and that's hard work, especially when the framework is on a scheduled update cycle.
I would highly recommend that you take a look at the Laravel Framework, it has taken the PHP world by storm.
http://laravel.com As a personal opinion, I would definitely go for a framework no matter how small that project of mine is (or at least i think it is) because at some point, this project might scale and go out of hands when maintaining.

More Questions Like This