<?php
/**
* Created by PhpStorm.
* User: Ember
* Date: 8/23/2017
* Time: 2:47 PM
*/
namespace Controller;
use Model\Pageconfig;
class Site extends \Controller
{
public function __construct(\Base $f3, $params)
{
$pageconfig = new Pageconfig();
$loaded = $pageconfig->load(['route = ?', $params[0]]);
switch ($f3->get('FALLBACK')) {
case 'az':
$this->setTitle($loaded['title_az']);
$this->setDescription($loaded['description_az']);
$this->setBackground($loaded['background']);
break;
case 'ru':
$this->setTitle($loaded['title_ru']);
$this->setDescription($loaded['description_ru']);
$this->setBackground($loaded['background']);
break;
case 'en':
$this->setTitle($loaded['title_en']);
$this->setDescription($loaded['description_en']);
$this->setBackground($loaded['background']);
break;
default:
$this->setTitle($loaded['title_az']);
$this->setDescription($loaded['description_az']);
$this->setBackground($loaded['background']);
break;
}
parent::__construct();
}
public function home(\Base $f3) {
$this->setContent('empty.html');
}
public function about(\Base $f3) {
$this->setContent('about.html');
}
public function employees(\Base $f3) {
$this->setContent('employees.html');
}
public function certificates(\Base $f3) {
$this->setContent('certificates.html');
}
public function projects(\Base $f3) {
$this->setContent('projects.html');
}
public function gallery(\Base $f3) {
$this->setContent('gallery.html');
}
public function contacts(\Base $f3) {
$this->setContent('contacts.html');
}
}
Здравствуйте, я хотел написать автоопределитель заголовка, описания и фона страницы по роуту. Все работает, но тут как то говном запахло... Фу!
Как вы считаете, это нормально что я в конструкторе класса написал такое ?
FALLBACK - это язык приложения использованный в данный момент.
PARAMS - это роуты, а [0] - возвращает что то типа /home, /about
Как можно реализовать это аккуратно, и без говнокода, костылей и т.д. ?
Спасибо большое!