Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- .woodpecker.yaml: image paths -> library/autojanet-{agent,dispatcher}
- .woodpecker.yaml: secret names RS_HARBOR_USER / RS_HARBOR_PASS (global)
- container/Dockerfile: restore COPY skills/, skills/ populated from opencode config
- skills/: 84 opencode skills bundled into image
- k8s/manifests: update image refs to library/
46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
# PHP Language Prompt Snippet
|
|
|
|
## Key Concepts
|
|
|
|
- **Namespaces**: Organize code and prevent naming collisions using backslash-delimited paths
|
|
- **Traits**: Horizontal code reuse mechanism for sharing methods across unrelated classes
|
|
- **Type Declarations**: Parameter, return, and property types (scalar, union, intersection types)
|
|
- **Attributes (PHP 8+)**: Native metadata annotations replacing docblock-based configuration
|
|
- **Enums (PHP 8.1+)**: First-class enumeration types with methods and interface implementation
|
|
- **Fibers**: Lightweight cooperative concurrency primitives for non-blocking I/O
|
|
- **Closures/Anonymous Functions**: First-class functions with explicit `use` for variable capture
|
|
- **Magic Methods**: Special methods like `__construct`, `__get`, `__set`, `__call` for object behavior
|
|
- **Dependency Injection**: Constructor injection managed by PSR-11 compatible containers
|
|
- **Middleware**: Request/response pipeline pattern central to modern PHP frameworks
|
|
|
|
## Import Patterns
|
|
|
|
- `use Namespace\ClassName` — import a class by its fully qualified name
|
|
- `use Namespace\ClassName as Alias` — import with an alias to avoid conflicts
|
|
- `namespace App\Http\Controllers` — declare the current file's namespace
|
|
- `use function Namespace\functionName` — import a namespaced function
|
|
|
|
## File Patterns
|
|
|
|
- `composer.json` — dependency management and PSR-4 autoloading configuration
|
|
- `index.php` — web application entry point (front controller)
|
|
- `artisan` — Laravel CLI entry point for commands and migrations
|
|
- `routes/` — route definition files (web.php, api.php in Laravel)
|
|
- PSR-4 autoloading maps namespace prefixes to directory paths
|
|
|
|
## Common Frameworks
|
|
|
|
- **Laravel** — Full-featured framework with Eloquent ORM, Blade templates, and queues
|
|
- **Symfony** — Component-based framework powering many PHP projects and libraries
|
|
- **WordPress** — CMS platform with hook-based plugin architecture
|
|
- **Slim** — Micro-framework for APIs and small applications
|
|
- **CodeIgniter** — Lightweight MVC framework with minimal configuration
|
|
|
|
## Example Language Notes
|
|
|
|
> Uses PHP 8 attributes `#[Route('/api/users')]` for declarative route mapping on
|
|
> controller methods. Attributes replace the older docblock annotation pattern,
|
|
> providing native language support for metadata that tools can reflect upon.
|
|
>
|
|
> PSR-4 autoloading in `composer.json` maps `App\` to `src/`, so the class
|
|
> `App\Http\Controllers\UserController` loads from `src/Http/Controllers/UserController.php`.
|