Grewi
* 20.07.2023

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);
    }
}
 
В данном примере, метод вызавет шаблонизатор и передаёт в него массив данных.
Grewi
* 21.07.2023 | Установка |

Установка

  • Создать в пустом проекте директорию  system (например командой mkdir -m 664 system)
  • Перейти в консоли в созданную директорию (cd system)
  • Скопировать файлы системы или клонировать репозиторий 
  • Запустить установку структуры системы php install 
  • Во время установки необходимо указать некоторые настройки или пропустить их и настроить позже.
  • Система создаст необходимую структуру.

 


| 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 зависит от настроек в индексном файле, они могут раполагаться, например, в корне системы.

Grewi
* 24.07.2023

Grewi 2024