# PHP ## Признаки платформы - `composer.json`, `composer.lock` - `public/index.php` - `artisan` (Laravel) - `spark` (CodeIgniter 4) - `bin/console` (Symfony) - `app/Config/App.php` (CodeIgniter 4) - `ext-phalcon` в composer.json (Phalcon) - `phalcon/devtools` (Phalcon) ## Признаки многомодульного проекта - `packages/` каталог - Модули Laravel (`app/Modules/`) - Модули CodeIgniter (`app/Modules/`, `modules/`) - Несколько приложений Phalcon (`apps/*/`) - Несколько `composer.json` в подкаталогах ## Источники перед созданием навыка - `composer.json` (зависимости) - `.env.example` (переменные окружения) - `config/*.php` (Laravel/Symfony) - `routes/*.php` (Laravel) - `app/Config/*` (CodeIgniter 4) - `apps/*/config/` (Phalcon) ## Что искать в кодовой базе ### Корневые каталоги исходников - `app/`, `src/`, `apps/` ### Типовые слои и каталоги: зафиксируй найденные `Controllers/`, `Services/`, `Repositories/`, `Models/`, `Entities/`, `Http/`, `Providers/`, `Console/` ### Структуры конкретных фреймворков **Laravel** (зафиксируй, если найдено): - `app/Http/Controllers`, `app/Models`, `database/migrations` - `routes/*.php`, `resources/views` **Symfony** (зафиксируй, если найдено): - `src/Controller`, `src/Entity`, `config/packages`, `templates` **CodeIgniter 4** (зафиксируй, если найдено): - `app/Controllers`, `app/Models`, `app/Views` - `app/Config/Routes.php`, `app/Database/Migrations` **Phalcon** (зафиксируй, если найдено): - `apps/*/controllers/`, `apps/*/Module.php` - `models/`, `views/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | Laravel Controller | `extends Controller`, `public function index` | laravel-controller | | Laravel Model | `extends Model`, `protected $fillable` | laravel-model | | Laravel Migration | `extends Migration`, `Schema::create` | laravel-migration | | Laravel Service | `class *Service`, `app/Services/` | laravel-service | | Laravel Repository | `*Repository`, `interface *Repository` | laravel-repository | | Laravel Job | `implements ShouldQueue`, `dispatch(` | laravel-job | | Laravel Event | `extends Event`, `event(` | laravel-event | | Symfony Controller | `#[Route]`, `AbstractController` | symfony-controller | | Symfony Service | `#[AsService]`, `services.yaml` | symfony-service | | Doctrine Entity | `#[ORM\Entity]`, `#[ORM\Column]` | doctrine-entity | | Doctrine Migration | `AbstractMigration`, `$this->addSql` | doctrine-migration | | CI4 Controller | `extends BaseController`, `app/Controllers/` | ci4-controller | | CI4 Model | `extends Model`, `protected $table` | ci4-model | | CI4 Migration | `extends Migration`, `$this->forge->` | ci4-migration | | CI4 Entity | `extends Entity`, `app/Entities/` | ci4-entity | | Phalcon Controller | `extends Controller`, `Phalcon\Mvc\Controller` | phalcon-controller | | Phalcon Model | `extends Model`, `Phalcon\Mvc\Model` | phalcon-model | | Phalcon Migration | `Phalcon\Migrations`, `morphTable` | phalcon-migration | | API Resource | `extends JsonResource`, `toArray` | api-resource | | Form Request | `extends FormRequest`, `rules()` | form-request | | Middleware | `implements Middleware`, `handle(` | php-middleware | | Unit Test | `extends TestCase`, `test*()`, `PHPUnit` | phpunit-test | | Feature Test | `extends TestCase`, `$this->get(`, `$this->post(` | feature-test | ## Обязательные разделы результата Добавь, если найдено: - **Контроллеры**: конечные точки HTTP - **Модели/сущности**: слой данных - **Сервисы**: бизнес-логика - **Репозитории**: доступ к данным - **Миграции**: изменения базы данных - **Задания/события**: асинхронная обработка - **Бизнес-модули**: крупнейшие модули по размеру ## Откуда брать команды - `composer.json` команды - `php artisan` (Laravel) - `php spark` (CodeIgniter 4) - `bin/console` (Symfony) - `phalcon` команды devtools - README, документация и CI - Добавляй только команды, которые есть в репозитории ## Основные пути **Laravel:** - `app/`, `routes/`, `database/migrations/` - `resources/views/`, `tests/` **Symfony:** - `src/`, `config/`, `templates/` - `migrations/`, `tests/` **CodeIgniter 4:** - `app/Controllers/`, `app/Models/`, `app/Views/` - `app/Database/Migrations/`, `tests/` **Phalcon:** - `apps/*/controllers/`, `apps/*/models/` - `apps/*/views/`, `migrations/`