원클릭으로
php
Modern PHP 8.5 practices: type system, OOP, security, architecture, async, testing, tooling. Use when writing or reviewing PHP code.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Modern PHP 8.5 practices: type system, OOP, security, architecture, async, testing, tooling. Use when writing or reviewing PHP code.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Docker best practices: image security, build efficiency, runtime hardening, Compose, local tooling (Colima, OrbStack). Use when writing or reviewing Dockerfiles and Compose files.
AWS best practices: IAM, secrets, networking, security, compute, IaC, ops. Use when building, reviewing, or modifying AWS resources.
GCP best practices: IAM, secrets, networking, security, compute, IaC, ops. Use when building, reviewing, or modifying GCP resources.
Idiomatic Go 1.25 practices: errors, interfaces, concurrency, generics, testing, security, tooling. Use when writing or reviewing Go code.
Modern Java practices: design, errors, concurrency, security, testing, tooling. Targets Java 21 LTS baseline; Java 25 LTS features called out explicitly. Use when writing or reviewing Java code.
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.
| name | php |
| description | Modern PHP 8.5 practices: type system, OOP, security, architecture, async, testing, tooling. Use when writing or reviewing PHP code. |
declare(strict_types=1) at top of every fileopcache.preload for warm startup on 8.0+opcache.jit=tracing, opcache.jit_buffer_size=128M. Not beneficial for typical I/O-bound web apps — benchmark before enablingmixed — use union types (int|string) or generics via PHPDocnever return type for functions that always throw or exitreadonly properties for value objects and DTOs (8.1+). readonly classes (8.2+) for fully immutable objectspublic private(set) for properties readable everywhere but writable only within classget/set hooks on properties — eliminates getter/setter boilerplate. Incompatible with readonlyCountable&Iterator. DNF types (8.2+): (A&B)|nullconst string VERSION = '1.0'#[Override] attribute (8.3+) on overriding methods — compiler-checked safety netstring/int) for serialisationmatch over switch — exhaustive, no fall-through, returns valuestrlen(...) over Closure::fromCallable('strlen')new without parentheses for chaining (8.4+): new Collection()->filter()->map()$result = $value |> trim(...) |> strtolower(...) |> htmlspecialchars(...). Prefer over nested callsclone with (8.5+): $new = clone $obj with {name: 'updated'}. Preferred over manual clone + property setReflectionClass::newLazyProxy(). Use for expensive dependencies in DI containersPdo\Mysql, Pdo\Pgsql, Pdo\Sqlite — type-safe, IDE-friendly alternatives to generic PDOfalse\Throwable at the business layerzend.exception_ignore_args=0 — error_get_last() now includes trace keyPDO with prepared statements. Never string interpolation in SQLpassword_hash() / password_verify() with PASSWORD_BCRYPT or PASSWORD_ARGON2ID. Never MD5/SHA1htmlspecialchars(), shell → escapeshellarg() or proc_open() with arg array (never shell string)eval(), exec(), system(), shell_exec() with user-controlled inputHttpOnly, Secure, SameSite=Strict. Partitioned cookie support (8.5+) via setcookie() partitioned optioncomposer audit in CI. Fail on known vulnerabilitiescomposer outdated as part of regular maintenancerequire/include in application codefile_get_contents, sleep) inside fiber/event-loop contextcomposer.json. composer.lock committed to gitcomposer audit and composer outdated in CIcomposer install --no-dev --optimize-autoloader in production. Never --no-scripts unless you understand what you're skippingrequire from require-dev. Testing and analysis tools in dev onlyphpbench for performance-sensitive code. Benchmark before and after optimisationSplFixedArray for large homogeneous datasets. Lower memory overhead than plain arrays