[PHP] Вопрос по архитектуре и оформлению

Discussion in 'PHP' started by Fuckel, 22 Oct 2010.

  1. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    Прошу помощи у гуру. Есть несколько вопросов. Хочу покинуть
    социальную группу быдлокодеров, помогите, пожалуйста. Использую в
    разработках веб-проиложений фреймворк Codeigniter. Архитектура MVC.
    Тривиальный пример модели для формирования заголовка страницы.
    Правильно ли я вынес этот функционал в модель или надо было размещать
    как библиотеку?

    PHP:
    class Title_model extends Model
    {
        
        private 
    $titles = array();
        private 
    $separator ' « ';

        
    /**
         * Title_model::__construct()
         * 
         * @return void
         */
        
    public function __construct()
        {
            
    // Call the Model constructor
            
    parent::Model();
            
            
    $ending 'Архитектура и проектирование, город Москва';
            
    $this->prependSegment($ending);
        }


        
    /**
         * Title_model::prependSegment()
         * 
         * @param mixed $segment
         * @return void
         */
        
    public function prependSegment($segment)
        {
            if (!
    is_array($segment)) {
                
    array_unshift($this->titles$segment);
            } else {
                foreach (
    $segment as $k => $v) {
                    
    $this->prependSegment($v);
                }
            }
            
        }


        
    /**
         * Title_model::getTitle()
         * 
         * @return string
         */
        
    public function getTitle()
        {
            return 
    implode($this->separator$this->titles);
        }
        
    }
    Использование:

    PHP:
    $this->title_manage_model->prependSegment('Заглавная');
    $title['title'] = $this->title_manage_model->getTitle();
    На выход:
    Заглавная « Архитектура и проектирование, город Москва

    или
    PHP:
    $title_array = array('Предложения''Услуги');
    $this->title_manage_model->prependSegment($title_array);
    $title['title'] = $this->title_manage_model->getTitle();
    На выход:
    Предложения « Услуги « Архитектура и проектирование, город Москва
     
    #1 Fuckel, 22 Oct 2010
    Last edited: 22 Oct 2010