- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
76 lines
1.9 KiB
Markdown
76 lines
1.9 KiB
Markdown
# LiveComponents Module
|
|
|
|
**Zero-Dependency Interactive Components** - Trait-based, keine abstract classes!
|
|
|
|
## Design Pattern
|
|
|
|
✅ **Composition over Inheritance**
|
|
- Interface: `LiveComponentContract`
|
|
- Trait: `LiveComponentTrait`
|
|
- Final readonly classes
|
|
|
|
## Minimal Example
|
|
|
|
```php
|
|
final readonly class MyComponent implements LiveComponentContract
|
|
{
|
|
use LiveComponentTrait;
|
|
|
|
public function __construct(
|
|
string $id,
|
|
array $initialData = [],
|
|
?TemplateRenderer $templateRenderer = null
|
|
) {
|
|
$this->id = $id;
|
|
$this->initialData = $initialData;
|
|
$this->templateRenderer = $templateRenderer;
|
|
}
|
|
|
|
public function render(): string
|
|
{
|
|
return $this->template('path/to/template', [
|
|
'data' => $this->initialData
|
|
]);
|
|
}
|
|
}
|
|
```
|
|
|
|
## Features
|
|
|
|
- **Polling**: `implements Pollable` - Auto-updates
|
|
- **File Upload**: `implements Uploadable` - Progress tracking mit `Byte` VO
|
|
- **SSE**: Real-time via framework's `SseResult`
|
|
- **Zero JS Dependencies**: Pure Vanilla JavaScript
|
|
|
|
## Structure
|
|
|
|
```
|
|
LiveComponents/
|
|
├── Contracts/
|
|
│ ├── LiveComponentContract.php # Main interface
|
|
│ ├── Pollable.php # Polling capability
|
|
│ └── Uploadable.php # Upload capability
|
|
├── Traits/
|
|
│ └── LiveComponentTrait.php # Implementation
|
|
├── Controllers/
|
|
│ ├── LiveComponentController.php
|
|
│ └── UploadController.php
|
|
├── Templates/
|
|
│ └── *.view.php # Component templates
|
|
└── ValueObjects/
|
|
├── LiveComponentState.php
|
|
├── ComponentAction.php
|
|
├── ComponentUpdate.php
|
|
├── UploadedComponentFile.php # Uses Byte VO
|
|
└── FileUploadProgress.php # Uses Byte VO
|
|
```
|
|
|
|
## JavaScript
|
|
|
|
- `/public/js/live-components.js` - Main client (~3KB)
|
|
- `/public/js/sse-client.js` - SSE manager (~2KB)
|
|
|
|
## Documentation
|
|
|
|
See: `/docs/claude/livecomponents-system.md`
|