CLI та assets
Concept Core надає консольні команди для перегляду зареєстрованих модулів і публікації
статичних файлів у public/. Команди компонентів підключаються автоматично
під час ComponentsServiceProvider::boot().
component:list
php bin/console.php component:list
Виводить таблицю: Name, Version, Class, Description — дані з методів name(), version(), description() кожного активного модуля.
Якщо компонент не з’являється — перевірте config/components.php і що ComponentsServiceProvider зареєстрований останнім у HTTP-провайдерах.
component:publish-assets
Копіює файли та каталоги з мапи, яку повертає ComponentInterface::assets():
// AuthAdminComponent::assets()
public function assets(): array
{
return [
$this->pathManager->toRelative($this->componentDir . '/Assets/admin-tokens.js') =>
$this->pathManager->getRelative(PathName::PUBLIC, 'components/auth-admin/js/admin-tokens.js'),
];
}
php bin/console.php component:publish-assets
- Шляхи відносні до кореня проєкту (
PathManager::root()) - Файл —
copy; каталог —mirrorз перезаписом - Усі активні компоненти обробляються за один запуск
Після зміни JS/CSS у Component/Assets/ повторіть команду перед деплоєм.
Власні команди модуля
Оголосіть класи в методі commands() компонента:
// AuthAdminComponent::commands()
public function commands(): array
{
return [UserListCommand::class];
}
Команда — звичайний Symfony Console class, зареєстрований у контейнері (autowiring). Приклад:
// Commands/UserListCommand.php
final class UserListCommand extends Command
{
protected function configure(): void
{
$this->setName('auth:user-list');
}
// execute() ...
}
Див. Створення команд.
Міграції та сидери
Шляхи з migrationPaths() і класи з seeders() додаються в registries ядра:
php bin/console.php migration:list
php bin/console.php db:migrate
php bin/console.php db:seed
php bin/console.php db:seed -c "Concept\Components\AuthAdmin\Database\Seeders\UserSeeder"
db:seed без опцій — усі зареєстровані сидери. Для одного сидера вкажіть
повний FQCN у -c / --class (у лапках).
Коротке ім’я класу не працює.
Глобальні міграції з config/migrations.php і компонентні — в одному списку.
Різні набори компонентів по середовищу
// config/dev/components.php — лише для APP_ENV=dev
return [
'components' => [
DebugBarComponent::class => DebugBarComponent::class,
],
];
ConfigServiceProvider зливає override з config/{APP_ENV}/ — у dev додається DebugBar без зміни production-списку.
Телеметрія компонентів
Під час ComponentsServiceProvider::boot() для кожного активного модуля
записується TelemetryEvent::FRAMEWORK_COMPONENT_REGISTERED (контекст — клас компонента).
Дані доступні через TelemetryCollector — див. Телеметрія.