<?php
namespace App;
class Config {
private $values = [];
public function __construct()
{
$this->readfile();
}
public function readfile()
{
// read config.json
//
// save to ->values
};
// get
// set
// or magic methods
public function getValue()
{
return ...;
};
}
class App {
private $_config;
private $_instance = NULL;
static public function get_instance()
{
if (!$this->_instance)
{
$this->_instance = new App;
}
return $this->_instance;
};
public function __construct()
{
$this->_config = new Config;
}
public function __get($variable)
{
if ($variable === "config")
{
return $this->_config;
}
};
}
use \App\App;
App::get_instance()
->config->getValue("my.super.value")
$app
корень приложения, запрашивают контейнеры и суют туда view функцию для создания обертки над отображениями. Фреймвор сам вызовет функцию $container['view'](передаст сюда линк на app->контейнер)
мы инициируем вью и вернем инстанс для работы с вью.$this->view->render(...)
(магические методы) вызывается наша обертка с методом render