php56-yii-devlisted
Install: claude install-skill hmj1026/dhpk
# Php56 Yii Dev
## Overview
Use this skill to work on generic Yii 1.x backend tasks in legacy PHP 5.6 environments without introducing syntax or patterns that block a later PHP 7 upgrade. Keep the workflow small: refresh framework knowledge through Context7 when needed, design with pragmatic DDD boundaries, drive changes with tests, then implement and verify.
## Core Rules
1. Treat PHP 5.6 runtime compatibility as a hard constraint.
2. Prefer code that still works after upgrading to PHP 7.x.
3. Keep Controllers thin and move business rules into Application Service, Domain Service, Entity, or Value Object.
4. Use TDD by default: write or identify a failing test before changing behavior.
5. Use Context7 as the knowledge source for language, framework, testing, and security questions. State when a recommendation is an inference from the sources.
6. If the task is simple CRUD with no real domain complexity, keep the design light and do not force ceremony.
## Critical Never List
- Never introduce PHP 7+ syntax or PHPUnit 6+ APIs into code or tests that must run on PHP 5.6 and PHPUnit 5.7.
- Never leave business rules, validation rules, or SQL-heavy orchestration in a Controller when a Service, Domain object, or Repository boundary would make the change clearer.
- Never trust mass assignment, request filters, sorting input, table names, or column names without scenario checks or allow-list validation.
- Never concatenate untrusted input into SQL, and never assume `queryRow()`