Search by

glavweb / framework-bundle

nilov

Framework helpers for Glavweb projects (DQL, makers, utils)

Package info

github.com/glavweb/GlavwebFrameworkBundle

Type:symfony-bundle

pkg:composer/glavweb/framework-bundle

Statistics

Installs: 19

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v1.3.0 2026-11-09 10:22 UTC

This package is auto-updated.

Last update: 2026-11-09 11:01:37 UTC


README

Верхний слой Glavweb-приложения: DQL, DBAL, utils, маркеры сущностей, make:manager / make:repository.

Нижние бандлы (admin, extra, uploader, datagrid, data-schema) не зависят от этого пакета; api-bundle — зависит.

User

Сущность User, токены, менеджеры — в проекте. Бандл даёт только контракт:

use Glavweb\FrameworkBundle\Entity\UserEntityInterface; // getId(), isEnabled() + Symfony UserInterface

UserEntityInterface — цель doctrine.orm.resolve_target_entities, поэтому общие traits могут ссылаться на пользователя, не зная проектного класса:

# config/packages/glavweb_framework.yaml
glavweb_framework:
    user_class: App\Entity\User\User   # default
    check_user_listener: true          # default; разлогин заблокированного (isEnabled() === false) на kernel.response

Archivable + archivedBy

use Glavweb\FrameworkBundle\Entity\ArchivedByAware;
use Glavweb\FrameworkBundle\Entity\ArchivedByAwareTrait;

class Article implements ArchivedByAware // extends Archivable
{
    use ArchivedByAwareTrait; // archivedAt + archivedBy → UserEntityInterface → user_class
}

Только дата без автора: Archivable + ArchivableTrait.

ArchiveManager::archive() проставляет archivedBy, если сущность instanceof ArchivedByAware.