Electronic - мини-фреймворк для быстрой разработки простых сайтов.
Система позволяет создавать публичную директорию (по умолчанию public, но можно выбрать и другое имя), в этом случае, точкой входа в систему становится файл index.php этой директории, если создание публичной директории не предполагается, то точкой входа становися корневой файл index.php . В этом файле объявляются необходимые константы определяющие пути к приложению, системе, директории моделей, миграций и т.д. В конце подключается файл system/system.php
system. В этом файле проходит проверка объявления констант, если они не объявлены, объявляет значения по умолчанию. Далее подключаются файлы глобальных функций (system/function.php), автозагрузчик (system/autoloader.php), загрузочные процедуры (system/bootstrap.php) и, если есть, автозагрузчик композера (composer/vendor/autoload.php). В конце подключается файл роутера текущего приложения, например: app/route/web.php
route. Роутер системы позволяет настроить поиск необходимого контроллера и метода в нём. Пример:
use electronic\core\route\route;
$route = new route();
$route->namespace('app/controllers/index');
$route->get('/')->controller('indexController', 'index');
Роутер позволяет использовать префиксы (используются в цепочке перед вызовом контроллера) и фильтры (самостоятельные классы). Далее вызывается необходимый метод контроллера.
controller. Пример:
namespace app\controllers\index;
use app\controllers\controller;
use electronic\core\view\view;
class indexController extends controller
{
public function index()
{
$this->title('Title');
new view('index/index', $this->data);
}
}
| app
cache
configs
database.php
globals.php
mail.php
controllers
index
indexController.php
controller.php
filter
lang
migrations
models
prefix
route
console.php
web.php
system
views
index
index.php
public
index.php
.htaccess
system
console
core
function
install-system
install
autoloader.php
bootstrap.php
exception.php
function.php
system.php
index.php
В данная схема является только примером. Наименование директории app может быть произвольным, а таких приложений любое количество, например для мульти-домменных решений. Расположение директорий migrations и models зависит от настроек в индексном файле, они могут раполагаться, например, в корне системы.