api
swagger-php
Our great sponsors
api | swagger-php | |
---|---|---|
1 | 10 | |
5 | 4,824 | |
- | - | |
10.0 | 0.0 | |
5 months ago | 11 days ago | |
PHP | PHP | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
api
-
Workplaces for digital nomads: the API
The composer.json and project configuration is lightened as much as possible: unused packages and classes are removed, platform-check is disabled, and classmap-authoritative is enabled.
swagger-php
-
Workplaces for digital nomads: the API
Native PHP attributes allowed OpenAPI markup to be much more compact than in DocBlocks. The resulting openapi.yaml is created with swagger-php and used to test the API.
-
Pragmatic development
First, swagger-php generates openapi.yaml based on code attributes, and then the spectator checks API responses to match openapi specification. The popular L5-Swagger is redundant in this case, as it is based on the same swagger-php with the addition of Swagger UI.
-
Swagger/Open api integration in laravel
I do this except use https://github.com/zircote/swagger-php for writing the open api spec. I can enter the Spatie Data Object classes into the parameters, responses, and properties. Like op said though, it's a lot of comments and stuff to keep updated. Entirely using reflection (or reflection plus ability to manually specify certain extra things) like you're talking about sounds great.
-
OpenAPI Specification: The Complete Guide
wagger-php is a php swagger annotation and parsing library which generates interactive OpenAPI documentation for your RESTful API using doctrine annotations. - GitHub - zircote/swagger-php
-
Validate your PHP API tests against OpenAPI definitions – a Laravel example
The second one is L5 Swagger, a popular package bringing Swagger PHP and Swagger UI to Laravel. We actually don't need Swagger PHP here, as it uses Doctrine annotations to generate OpenAPI definitions and we're going to manually write our own instead. We do need Swagger UI, however, and the package conveniently adapts it to work with Laravel (the -W option is simply here to also update related dependencies, to avoid conflicts).
-
Dynamic class property with phpdoc included
It is possible that there is a library doing this already. I am not PHP coder so would like to avoid complex frameworks and stick with barebone solution doing only this Swagger/JSON stuff. For swagger, I decided to go with zircote/swagger-php. I would like my schema and model classes to have nice Swagger doc and at the same time I can use them to prepare objects to interact with the DB by loading/dumping from JSON.
-
Creating API documentation from php files?
Ah right, so you're building a (presumably REST) API and you want to generate docs for the endpoints from your code. Slightly different scenario to what I assumed. There are a couple of libraries to generate OpenAPI specs from source files, I think this is the main one https://github.com/zircote/swagger-php though FWIW I prefer to maintain my API specs separately from the code and use those to guide what I'm building, rather than 'tother way round.
I'm using this library to generate an open api 3 (swagger) yaml file. You add @OA markup to your doc blocks and then can have this generate a file or produce it on the fly. It's a bit sparse on documentation but is working really well with my MVC set up for a REST API I'm developing. https://github.com/zircote/swagger-php
What are some alternatives?
L5-Swagger - OpenApi or Swagger integration to Laravel
laminas-code - Extensions to the PHP Reflection API, static code scanning, and code generation
apiDoc - RESTful web API Documentation Generator.
openapi-psr7-validator - It validates PSR-7 messages (HTTP request/response) against OpenAPI specifications
Nyholm PSR-7 - A super lightweight PSR-7 implementation
flask-restx - Fork of Flask-RESTPlus: Fully featured framework for fast, easy and documented API development with Flask
docs-deploy - Deploys a VuePress docs repo to GitHub Pages
rswag - Seamlessly adds a Swagger to Rails-based API's
Laravel - The Laravel Framework.
drf-spectacular - Sane and flexible OpenAPI 3 schema generation for Django REST framework.
dynamicobjects - Create PHP objects having dynamic classes and/or properties.
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.