Архитектура Ядра v2.4 Stable

ERP Core:
Просто. Единообразно. Хорошо.

Финальная архитектура системы, построенная на принципах модульной независимости и единого интерфейса взаимодействия.

1. Архитектура общих модулей (Core Stack)

1. Entity

Центральный реестр моделей. Избавляет от длинных имен классов и жестких путей.

$order = Entity::factory('order', $id);

2. Event

Шина событий. Позволяет модулям «общаться», оставаясь независимыми.

Event::fire('invoice.paid', $inv);

3. ACL

Проверка прав через «способности» (permissions) вместо жестких ролей.

if ($this->can('client.delete'))

4. Storage

Единый интерфейс для загрузки и получения ссылок на файлы.

Storage::upload($_FILES['file']);

5. Notify (Слой связи)

Универсальный курьер: Email, Telegram, Browser в одном вызове.

6. Audit (Слой истории)

Автоматический «черный ящик» системы через прослушку Event.

Реализация

Controller_Tasks.php
class Controller_Tasks extends Controller_Base {

  public function action_complete() {
    // 1. Сущность
    $task = Entity::factory('task', $id);

    // 2. Права
    if (!$this->can('task.complete')) {
       throw new Exception_403;
    }

    $task->status = 'done';
    $task->save();

    // 3. Событие
    Event::fire('task.completed', $task); 
    
    $this->_json_response(['ok']);
  }
}

Преимущества

Чистота кода +85%
Скорость разработки x2.5
Масштабируемость High

Почему это работает?

Система становится модульной. Вы можете полностью заменить реализацию Notify (например, сменить почтовый сервис), и вам не придется править ни одного бизнес-контроллера. Это архитектура, которая не превращается в "спагетти" через год.