Организация мультиязычности
имеется MVC, необходимо сделать мультиязычность(без js) по логике: из БД берется значение (rus, en) и далее если у человека 'rus', то подключается файл rus.php(аналогично en.php) с языком, помогите организовать правильно проверку, как не напишу - постоянно что то не так делаю. Буду очень признателен за помощь
Контроллер
<?php
namespace application\core;
use application\core\View;
abstract class Controller {
public $route;
public $view;
public $acl;
public $tariffs;
public function __construct($route) {
$this->route = $route;
if($this->route['action'] == 'index' AND $this->route['controller'] == 'main' AND $_SESSION != Array()) { // Check authorization
header('Location: /miners/index');
}
// debug($_SESSION['account']);
$this->view = new View($route);
$this->model = $this->loadModel($route['controller']);
}
public function loadModel($name) { // Loading model
$path = 'application\models\\'.ucfirst($name);
if (class_exists($path)) {
return new $path;
}
}
}
Модель
<?php
namespace application\core;
use application\lib\Db;
abstract class Model {
public $db;
public function __construct() {
$this->db = new Db;
}
}
Вид
<?php
namespace application\core;
class View {
public $path;
public $route;
public $layout = 'default';
public function __construct($route) {
$this->route = $route;
$this->path = $route['controller'].'/'.$route['action'];
}
public function render($title, $vars = []) {
extract($vars);
$path = 'application/views/'.$this->path.'.php';
if (file_exists($path)) {
ob_start();
require $path;
$content = ob_get_clean();
require 'application/views/layouts/'.$this->layout.'.php';
}
}