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

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.

主站蜘蛛池模板: 缙云县| 潼南县| 江安县| 淳化县| 五华县| 大石桥市| 贡山| 溧阳市| 英吉沙县| 句容市| 平南县| 温宿县| 梨树县| 沁阳市| 黄梅县| 定结县| 浮山县| 上高县| 龙南县| 鄄城县| 丰城市| 胶州市| 昌图县| 东海县| 兴仁县| 芮城县| 玉龙| 奉贤区| 锡林浩特市| 黑河市| 饶河县| 伽师县| 库尔勒市| 康马县| 沙坪坝区| 江都市| 榆中县| 屏南县| 澎湖县| 苍梧县| 临猗县|