2017 © Pedro Peláez
 

library apirequest

base for api requests

image

shamanzpua/apirequest

base for api requests

  • Tuesday, February 28, 2017
  • by shamanzpua
  • Repository
  • 1 Watchers
  • 0 Stars
  • 23 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 14 Versions
  • 0 % Grown

The README.md

Apirequest

Template for different api requests., (*1)

Installation

Add to composer.json, (*2)

 "require": {
    "shamanzpua/apirequest": "*"
 }

Usage

Create new custom class Builder:

<?php

namespace components\request\builders;

use shamanzpua\apirequest\builders\BuilderStrategyInterface;
use shamanzpua\apirequest\builders\AbstractRequestBuilder;

/**
 * Class for building request for example api
 */
class ExampleBuilder extends AbstractRequestBuilder implements BuilderStrategyInterface
{
    const ALLOWED_METHODS = ['GET'];

    protected $api = "/example";


    /**
     * Allowed params for query
     */
    public function getAllowedQueryParams()
    {
        return array_merge(
            parent::getAllowedQueryParams(),
            [
                'q' => [],
            ]
        );
    }

    /**
     * Build request
     */
    public function build()
    {
        if (!empty($this->queryParams)) {
            $this->query = "?". http_build_query($this->queryParams);
        }
        $this->query = $this->baseUrl.$this->api. $this->query;
    }
}

Use in code:

<?php

use shamanzpua\apirequest\RequestConfig;
use shamanzpua\apirequest\Request;
use shamanzpua\apirequest\builders\ContextRequestBuilder;
use shamanzpua\apirequest\Api;
use components\request\builders\ExampleBuilder;

/**
 * Example api class
 */
class ExampleApi extends Api
{
    /**
     * Api baseurl
     */
    protected $apiBaseUrl = 'https://api.example.com';

    /**
     * Configure, build and send request to example api
     */
    public function apiExample($search)
    {
        $queryParams = [
            'q' => $search,
        ];

        $requestConfig = $this->createConfigurator(RequestConfig::class);
        $requestConfig->setHttpMethod(RequestConfig::HTTP_METHOD_GET)
            ->setQueryParams($queryParams);

        $request = new Request(
            new ContextRequestBuilder(new ExampleBuilder($requestConfig))
        );
        return $request->send()->getResonseData();
    }
}



The Versions

28/02 2017

dev-master

9999999-dev

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

28/02 2017

2.1

2.1.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

28/02 2017

1.7.4

1.7.4.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

28/02 2017

1.7.3

1.7.3.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

28/02 2017

1.7.2

1.7.2.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

27/02 2017

1.7.1

1.7.1.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

27/02 2017

1.7

1.7.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

27/02 2017

1.6

1.6.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

27/02 2017

1.5

1.5.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

27/02 2017

1.4

1.4.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

26/02 2017

1.3

1.3.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

26/02 2017

1.2

1.2.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

26/02 2017

1.1

1.1.0.0

base for api requests

  Sources   Download

BSD-3-Clause

The Requires

 

by shamanzp

api curl http request

26/02 2017

1.0

1.0.0.0

base for api requests

  Sources   Download

The Requires

 

by shamanzp