Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7684431
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T19:01:14+00:00 2026-05-31T19:01:14+00:00

I’m experienced in working with MVC web applications (Zend Framework). When I was looking

  • 0

I’m experienced in working with MVC web applications (Zend Framework). When I was looking for a better description of each layer of the MVC pattern (i.e. Model, View, Controller) I’ve found the Page Controller pattern that describes a similar behavior as you can see on the image below:

http://martinfowler.com/eaaCatalog/pageController.html

Page Controller

The MVC pattern:

http://martinfowler.com/eaaCatalog/modelViewController.html

MVC

So far, the differences I’m able to identify, is that the controller on the MVC pattern found on various applications actually implement business logic by deciding the actions upon the model’s entities. Sometimes those actions will be performed within the Repository Pattern instead of accessing the model’s entities directly. Thus you will find applications that have a service layer as a facade for the business logic, in such cases, controllers are thin and do not have any business logic, just presentation logic whereby the view is determined accordingly with the http request data and the data returned by the Service (or Repository).

The main question is. Does MVC implement the Page Controller pattern as it is? Or the Controller on MVC is similar but have a distinct pattern?

Calling a controller that does implements business logic a PageController doesn’t sounds right, since it’s not just a “page controller”. But if we remove the business logic from the controller it does makes sense to call it a “page controller”.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T19:01:15+00:00Added an answer on May 31, 2026 at 7:01 pm

    Some background on the subject.

    To begin with, you have to understand that it is impossible to write classical MVC in PHP. In the classical pattern the View is observing Model layer for any changes and requests new data when such change is detected. Which is impossible, when the View ends up in someones phone on the other side of planet or on ISS for that matter.

    The closest you can get to classical structure is the Model2 MVC ( some call it "Web MVC" ). In this pattern the View is interacting with Model layer through services. These services in turn are encompassing the realization of domain model (as defined in this book) and the persistence abstractions. And the View requests all the data it needs from said services.

    Other popular variations on original MVC theme are MVVM and MVP (there is also HMVC pattern, which has no direct relation to others and is a variation on PAC). As you might notice, the M and V stay in all , but the "controlling structure" has different names. That is because they each do different things.

    Note: Usually, when you read about some framework which uses "MVC" for marketing purpose, they have nothing to do with that pattern. Instead they are simply Ruby On Rails clones of various quality (or lack there of).

    Bact to original question ..

    The short answer would be : NO.

    You have to keep in mind that PoEAA was released some time around year 2002. Things changed a bit. Now the HTTP request gets usually handles by Front Controller, which then supplies parameters for creating the Controller.

    It is still common for Controller to instantiate the structures from Model layer, but the View can be instantiated either inside controller, or based on Response object which might be returned (or just altered) by Controller.

    Also, while in general there is still 1:1 relation between View and Controller, there will be situations when that same Controller is called to help generate JSON, instead of HTML. This would cause the controller to choose a different View, because in case of JSON-oriented View, it would be trying to accumulate some specific data from Model layer and create a one of several possible data structures. Which then it encodes and presents the the user (which in this case, most likely, would be XRH object in browser).

    And these deviations only cover the Model2, and partly MVP.

    Update v2:

    In a web application controller’s main job is to pass data from request (preferably abstracted) to the model layer and thus – altering the model’s state. Controller can also alter the state of the current view instance. It usually happens when you want to change the output format.

    The creation of view and model layer structures can (and usually – should) be located outside the Controller itself.

    Also, please note that this is not what MVP and MVVM patterns do, which tend to gather the data from Model layer in the "controller", manipulate/restructure that data and only then pass it to View.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have a jquery bug and I've been looking for hours now, I can't
Basically, what I'm trying to create is a page of div tags, each has
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
Seemingly simple, but I cannot find anything relevant on the web. What is the
I have an MVC Razor view @{ ViewBag.Title = Index; var c = (char)146;
I'm working with an upstream system that sometimes sends me text destined for HTML/XML
I have just tried to save a simple *.rtf file with some websites and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.