官术网_书友最值得收藏!

WordPress as a web development framework

In practice, the decision to choose a development framework depends on the complexity of your application. Developers will tend to go for frameworks in most scenarios. It's important to figure out why we go with frameworks for web development. Here is a list of possible reasons that frameworks become a priority in web application development:

  • They provide stable foundations for building custom functionalities
  • Stable frameworks usually have a large development community with active support
  • Frameworks contain built-in modules to address the common aspects of application development such as routing, language support, form validation, user management, and more
  • They have a large number of utility functions to address repetitive tasks

Full stack development frameworks such as Zend, CodeIgniter, and CakePHP adhere to the points mentioned in the preceding section, which in turn become the framework of choice for most developers. Now let's take a look at how WordPress fits into the boots of the web application framework.

MVC versus event-driven architecture

A vast majority of web development frameworks are built to work with the MVC (Model-View-Controller) architecture, where the application is separated into independent layers called models, views, and controllers. In MVC, we have a clear understanding of what goes where and when each of the layers will be integrated in the process.

So, the first thing most developers will look at is the availability of MVC in WordPress. Unfortunately WordPress is not built on top of the MVC architecture. This is one of the main reasons that developers refuse to choose it as a development framework. Even though it is not MVC, we can create a custom execution process to make it work like an MVC application. Unlike other frameworks, it won't have the full capabilities of MVC. But unavailability of an MVC architecture doesn't mean that we cannot develop quality applications with WordPress.

WordPress relies on procedural event-driven architecture with its action hooks and filter system. Once the user makes a request, these actions will get executed in a certain order to provide the response to the user. You can find the complete execution procedure at http://codex.wordpress.org/Plugin_API/Action_Reference.

In an event-driven architecture, both the model and controller code gets scattered throughout the theme files. In the upcoming chapters, we are going to look at how we can separate these concerns with the event-driven architecture, in order to develop maintainable applications.

主站蜘蛛池模板: 东乌珠穆沁旗| 扎鲁特旗| 承德市| 阜新| 泰安市| 达拉特旗| 禹州市| 称多县| 竹溪县| 温泉县| 东海县| 武定县| 金山区| 建始县| 武汉市| 洱源县| 温宿县| 博湖县| 南部县| 巩留县| 兴宁市| 金阳县| 瓮安县| 大邑县| 洪江市| 昌乐县| 丹东市| 红桥区| 承德县| 进贤县| 阳高县| 玛纳斯县| 田东县| 怀宁县| 永顺县| 霍州市| 六安市| 兴国县| 囊谦县| 德化县| 图们市|