Hello,

I wanted to ask the full time PHP developers how important you think MVC Pattern is. Are you coding all your projects with MVC?

Would you have any recommendation in terms of PHP frameworks?

Recommended Answers

All 3 Replies

Member Avatar for diafol

Not a full time dev, but my 2p: MVC for everything is not advisable - depends on the size/complexity of the project. I tend to use CodeIgniter (easy - relative term!), but I think most pros would go with something a bit stricter (Zend/Symfony?).

depend if you like it, you can do any project without MVC it's not really vital you should do MVC every project, there pros and cons on using MVC but i think the thing i like about MVC is the it's structure and workflow, with MVC your files are organized, you divide logic to your view and you had controllers act as routers, with MVC your co-workers will find eaasy to trace your code, because MVC uses URI to determine which controller and method you use. MVC has clean url, Search Engine Friendly. If you decide to use MVC i recommend Code Igniter, it's a very good MVC, it has helper class that can help lessen your work

In my experience, having developed complex systems from scratch, Zend, Symfony2, and CodeIgniter, I can tell you that it really depends on what you want your end result to be. If you build something from scratch you have total control over every aspect, this can be both good and bad, of the process and architecture.

It also depends on how you expect the project to grow, often what is attractive about 3rd party frameworks is the standardization. if you know Zend, you should be able to easily acclamate yourself to any Zend project. So if you need more developers you can focus on people who know your particular framework and only have to train them on the business implementations whereas if you're working in a homespun environment it will take a new developer a lot longer to come up to speed, and be productive.

There are other things to consider as well, performance, security, documentation, unit testing etc. Third party frameworks often have hundreds or thousands of contributors which is what makes them so robust.

As far as frameworks go, I really liked Zend until I started working with Symfony2. While I know there are complex sites built on CodeIgniter I really find it to be a subpar framework. Its nearly impossible to swap out core components with your own implementations, it will fight you every step of the way to test, and while it uses OOP principles it is as far from OOP as you can get, in my opinion.

Symfony2 is my personal choice at this point, but unless you have an advanced and robust understanding of php be prepared to invest time and effort in learning how to use it properly.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.