<?php
abstract class DisplayAbstract
{
    private 
$_data;

    public function 
__construct($data)
    {
        if (!
is_array($data)) {
            
$data = array($data);
        }
        
$this->_data $data;
    }

    public function 
display()
    {
        
$this->_displayHeader();
        
$this->_displayBody();
        
$this->_displayFooter();
    }

    public function 
getData()
    {
        return 
$this->_data;
    }

    protected abstract function 
_displayHeader();

    protected abstract function 
_displayBody();

    protected abstract function 
_displayFooter();
}