Andrew Berry wrote:
On 2009-12-11, at 9:33 AM, Damien Tournoud wrote:
a big part of the view and the controller is
actually handled by the browser.
This is true for how %99.9 percent of the Drupal installations out there, but a
"view" doesn't have to be graphical. A View could be RSS, XML, Postscript, etc.
IMO the $page array in D7 brings Drupal much closer to an MVC-like design, as you now
have an abstracted representation of data before it's processed by the View (whatever
your theme_* and .tpl.php files do).
--Andrew
The defining attribute of MVC is, IMO, that the View component has
direct access to the Model component using an observer relationship,
without going through a separate Controller.
hook_page_alter() is in no way a direct observer relationship between
the View component and the Model component. *_alter hooks are a
pipes-and-filter approach, or, arguably, visitor pattern.
Drupal is very much not an MVC design. It's not true PAC either, but I
have and do argue that it is closer to PAC than MVC.
Someone needs to correct the Wikipedia page, which is simply wrong in
this regard.
--Larry Garfield