Download the PHP package fabricio872/api-modeller-bundle without Composer
On this page you can find all versions of the php package fabricio872/api-modeller-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fabricio872/api-modeller-bundle
More information about fabricio872/api-modeller-bundle
Files in fabricio872/api-modeller-bundle
Package api-modeller-bundle
Short Description Symfony bundle for translating foreign API to Doctrine-like models
License MIT
Informations about the package api-modeller-bundle
Valuable partners:
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
Usage
This bundle uses models with Annotations similar to Doctrine Entities.
Usually they are in a directory
src/ApiModels
but they are not required to be there as long as they have correct namespace
Example model with single Resource
This is example of a model for receiving list of users from some API
endpoint parameter is endpoint which will be called.
The variable
{{api_url}}
is Twig global variable configured in twig config (example in Global variables configuration section)method parameter is method with which the request will be done
default:
GET
type parameter defines format of the received data
currently supported:
json
,"xml'
default:
json
options parameter is array that is directly passed (but can be altered as explained in setOptions section) to symfony/http-client request method as 3. parameter so use this documentation
Example model with multiple Resources
To define multiple resources you need to wrap multiple Resource annotation into single Resources annotation with identifier at beginning. This identifier is then used while calling this endpoint as described in section setIdentifier
Global variables configuration
Calling the API
This bundle can be initialized from symphony's dependency container so in your controller you can call it like this:
Calling with single resource
This controller dumps model or collection of models form this example with namespace Users::class
and sets query parameter page
to 2
Calling with multiple resources
This controller dumps model or collection of models form this example with namespace Users::class
and fills the {{id}}
variable from model with number 2
noticed that now method setIdentifier is required
The modeller accepts Repo object which requires namespace of model you want to build and has optional setters:
setOptions()
setParameters()
setIdentifier()
setOptions
This method accepts array of options that will be merged with options configured in a model (and will override overlapped parameters) to symfony/http-client request method as 3. parameter so use this documentation
setParameters
This method accepts array and sets twig variables (same as if you render a template but here the template is endpoint parameter from model) to url configuration and can override global twig variables
setIdentifier
This method is required in case when you use multiple Resources for single model as shown in this example
All versions of api-modeller-bundle with dependencies
fabricio872/api-modeller Version ^2.2.3
symfony/config Version ^4.4|^5|^6
symfony/dependency-injection Version ^4.4|^5|^6
symfony/serializer-pack Version ^1.0