I am by no means an expert on MVC or object oriented programming, but as I have been going through the Zend Framework tutorial, something strikes me as being odd and I was hoping one of the experts here could clear it up for me.

In the framework the following URLs would all open up the same controller:

http://www.google.com/Display/News/
http://www.google.com/Display/Groups/
http://www.google.com/Display/Images/

The controller would be structured thus:

PHP Code:
class DisplayController
{
    function 
Groups()
    {
        
// code required for displaying Groups
    
}
    function 
News()
    {
        
// code required for displaying News
    
}
    function 
Images()
    {
        
// code required for displaying images
    
}

But wouldn't a true OOP design instead be set up more like this:

PHP Code:
abstract class DataIndex {
    function 
getDataRange()
    {
        
// something to parse the url for what range of data to get
    
}
    function 
getResultSet()
    {
        
// query for obtaining result set
    
}

    function 
displayResultSet()
    {
        
// code to display a result set
    
}

PHP Code:
class Groups extends DataIndex{
    
// filled with any possible method overrides
    // specific to Groups

PHP Code:
class News extends DataIndex{
    
// filled with News specific method overrides
    // if necessary