Tutor HuntResources Programming Resources

Model View Controller Architecture And Simple Web Services For Php

An MVC simplified architecture combined with web services

Date : 30/03/2012

Author Information

Antonio

Uploaded by : Antonio
Uploaded on : 30/03/2012
Subject : Programming

This web 2.0 application architecture works with a non-monolithic controller and data model. That is they are split among multiple files and classes just like views and web services. (1) PHP include only. Sets template variables. Can silently perform some business logic actions too. (2) AJAX call. These calls will be available for integration purposes as well. (3) PHP include followed by API calls.

Line (1) is dotted to point out that although it is the view that calls for the controller, usually it doesn`t need to pass any specific input data. COOKIES/GET/POST data are grabbed by the controller autonomously since they are superglobal arrays in PHP. Therefore a view usually only includes the respective controller in order to carry out a form submission and/or get its template variables. Indeed a view is just a template written in plain PHP.

A view can include a controller on the server-side and/or use a web service on the client side (in Javascri pt). Views are either HTML or PHP files. In the latter case they usually contain only a controller include statement at the beginning and some embedded PHP code that implements the server-side part of the presentation logic only.

This model securely suits Web 2.0 developments where business logic is split among client and server. It was inspired by a much-discussed Rasmus Lerdorf`s article. There is no involved framework that implements this architecture, it`s all standard plain PHP and judicious use of the file system.

View, model or web services can be as complex as you want, e.g. support themes, use advanced Javascri pt libraries, SOAP or provide a full database abstraction.

Since this model is based upon web services, your web application will be fully interoperable from the outset, without any additional complexity or code duplication. The same ideas can be implemented in any HTML-embedded language, not only PHP.

For a sample PHP implementation about collecting people`s contacts, please contact me or book a PHP lesson with me. To simplify matters, the following sensible choices have been made for implementing each part of the model:

service JSON web services view the Prototype library to provide some HTML extensions (DHTML menu, client-side form sanitizing and validation, calendar widget, cross-browser AJAX support); PHP itself as a template language model PHP Data Objects, an abstraction layer for data-access only and prepared SQL queries. controller,service the PHP standard data-filtering functions, for added security

For more details please contact me.

This resource was uploaded by: Antonio