17 lines
1.9 KiB
Markdown
17 lines
1.9 KiB
Markdown
---
|
||
name: idea-cli-entrypoint
|
||
description: Идея на будущее — добавить CLI-точку входа (cli.php) для миграций/крона/скриптов
|
||
metadata:
|
||
type: project
|
||
---
|
||
|
||
Отложенная идея для Bicycle: добавить **CLI-точку входа** — отдельный скрипт `cli.php` в корне (рядом с `index.php`), запускаемый из терминала (`php cli.php <команда>`).
|
||
|
||
Назначение: миграции БД, крон-задачи (рассылки/отчёты), обслуживающие скрипты (сидинг, очистка логов) — то, что нельзя/опасно вешать на веб-URL.
|
||
|
||
Структура: `cli.php` повторяет «голову» `index.php` (константы, autoload, `Core::init()`), но вместо `Request::factory()->execute()` разбирает `$argv` и запускает команду. Команды — классы в `App/Command/` (аналог контроллеров для консоли), простой роутинг по имени. `symfony/console` — оверкилл для «велосипеда» (см. `feedback_educational_project.md`).
|
||
|
||
**Why:** пользователю идея понравилась, но решили отложить — пока нет потребителя (нет слоя БД → нет миграций, нет крон-задач). Делать сейчас = пустая инфраструктура без клиента (как был удалённый `ApiController`).
|
||
|
||
**How to apply:** реализовать, когда появится первый реальный потребитель — вероятнее всего слой БД (первый клиент — миграции, см. `roadmap.md`) или конкретная фоновая задача. Тогда `cli.php` пишется за полчаса под неё.
|