e107 and MVC

by admin in Blog

Development of PHP scripts without a preconceived plan to manage them is asking for a headache.

Development of PHP scripts without a preconceived plan to manage them is asking for a headache. The goal of a framework is to make the process of writing web-based applications simpler. Due to e107 popularity, things got a bit out of hand during the development. It is time to iron some things out that slipped in during these past years. Currently the e107 devs just 'make things work' and 'make things a bit more secure', but old legacy code is still there and it's procrastinating security and performance improvements. The e107 devs see a need to get rid of old procedural code and provide permanent solutions for the e107 system. An application designed around MVC is easier to manage because it is split into tiers, which allow for independent development. This promotes code re-usability by building models, which are reusable throughout the application. That is why we would like to embrace MVC and single entry point (Front Controller) in the e107 0.8 version.

What is MVC?

Model-View-Controller (MVC) is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each. MVC is often seen in web applications where the view is the HTML or XHTML generated by the app. The history of e107 was working with classes, but not really in an MVC efficient way. Working with MVC will bring better OOP (object oriented programming) standards closer.

What's in it for you?

Applying MVC will bring you more security enhancement (possible 'sandbox-ed' environment, possibilities to implement security mechanisms on different application layers/request stages, etc). Please note that the code producing will not take so much time. The time consuming process is the design and analysis - the code preparation phase to implement all this. To summarize all benefits for you: a better, safer and much more flexible CMS platform, that will provide plugin writers to integrate even better in e107, with an architecture ready for future developments. The catch? Well, it might take a while; but that's an old story.

Relevant links

http://en.wikipedia.org/wiki/Model-view-controller http://www.phpro.org/tutorials/Model-View-Controller-MVC.html http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks

Social Links