devizzent/cebe-php-openapi
Fork of cebe/php-openapi providing PHP objects to read/write OpenAPI 3.0/3.1 YAML and JSON. Includes a CLI tool to validate and convert API description files. Install via Composer; works on PHP 7.1+ (including PHP 8).
symfony/yaml for config files)."symfony/yaml": "^6.0" may still be needed for Laravel compatibility).config/openapi.yaml).KernelEvents::TERMINATE for caching).symfony/yaml:test).Illuminate\Support\Facades\Cache).instanceof checks for nested objects.composer.json diff.)symfony/yaml for config, symfony/http-client for API calls).config/openapi.yaml).routes/api.php).composer.json to enforce Symfony YAML 8 compatibility:
"require": {
"symfony/yaml": "^6.0",
"vendor/openapi-package": "^1.1.5"
}
$this->app->singleton('openapi', function () {
$yaml = Yaml::parseFile(config('openapi.path'));
return OpenApi::parse($yaml);
});
OpenApi::client()->request('GET', '/users')).- name: Validate OpenAPI Spec
uses: symfony/ymlint@v1
with:
files: "config/openapi.yaml"
| Phase | Task | Tools/Libraries |
|---|---|---|
| Discovery | Audit existing OpenAPI specs for YAML/Symfony compatibility. | symfony/yaml:validate |
| Setup | Update composer.json, install Symfony YAML 8, configure provider. |
Composer, Laravel Artisan |
| Validation | Validate specs against Laravel routes using Symfony’s validator. | PHPUnit, Symfony Validator |
| Runtime Use | Integrate with Symfony HTTP Client for API calls. | Symfony HTTP Client, Guzzle |
| Optimization | Cache parsed YAML specs with Symfony’s cache component. | Symfony Cache, Laravel Cache |
| Monitoring | Log spec parsing errors via Symfony’s error handler. | Symfony Monolog, Laravel Telescope |
composer.json to avoid conflicts:
"config": {
"preferred-install": "dist",
"sort-packages": true
}
symfony/ymlint.How can I help you explore Laravel packages today?