1. Go to this page and download the library: Download juststeveking/sdk-tools library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
juststeveking / sdk-tools example snippets
use JustSteveKing\Tools\Http\Enums\Method;
use JustSteveKing\Tools\Http\Request;
$request = (new Request(
method: Method::GET,
uri: 'https://api.domain.com/resources',
))->toPsrRequest(); // Returns whichever PSR-7 implementation you have installed.
use JustSteveKing\Tools\Http\Response;
$response = Response::fromPsrResponse(
response: $response, // Add a PSR response here.
);
$response->status(); // Get the status code.
$response->headers(); // Get the headers from the response.
$response->json(); // Get the payload from the response as an array.
$response->protocol(); // Get the HTTP protocol from the response.
$response->reason(); // Get the Http reason phrase from the response.
use JustSteveKing\Tools\Http\Payload;
$json = json_encode(
value: ['foo' => 'bar'],
);
$payload = (new Payload(
content: $json,
))->toStream(); // Returns whichever PSR-7 implementation you have installed.
use JustSteveKing\Tools\Http\Uri\QueryParameter;
$queryParameter = (new QueryParameter(
key: 'test',
value: true,
))->toString(); // Returns `test=1`
use JustSteveKing\Tools\Http\Headers\Authorization;
$header = (new Authorization(
value: 'YOUR-API-TOKEN',
))->toHeader(); // ['Authorization' => 'Bearer YOUR_API_TOKEN'],
use JustSteveKing\Tools\Http\Headers\TokenHeader;
$header = (new TokenHeader(
value: 'YOUR-API-KEY',
))->toHeader(); // ['X-API-TOKEN' => 'YOUR-API-TOKEN'],
use JustSteveKing\Tools\SDK\Transport\HttpTransport;
$client = HttpTransport::client(); // HttpClient PSR-18 implementation.
use JustSteveKing\Tools\SDK\SDK;
use JustSteveKing\Tools\SDK\Transport\HttpTransport;
$sdk = new SDK(
client: HttpTransport::client(),
);
// Fetch the attached client:
$sdk->client();
// Replace the attached client
$sdk->setClient(
client: new \Http\Mock\Client(),
);
use JustSteveKing\Tools\Http\Headers\Authorization;
use JustSteveKing\Tools\SDK\SDK;
use JustSteveKing\Tools\SDK\Transport\HttpTransport;
class Acme extends SDK
{
public function __construct(
protected HttpClient $client,
private readonly Authorization $auth,
) {}
public static function build(string $apiToken): Acme
{
return new Acme(
client: HttpTransport::client(),
auth: (new Authorization(
value: $apiToken,
)),
);
}
}
$acme = Acme::build(
apiToken: 'YOUR-API-TOKEN',
);
// Then you can start to do things like:
$acme->projects()->list();
use JustSteveKing\Tools\Http\Enums\Method;
use JustSteveKing\Tools\Http\Request;
use JustSteveKing\Tools\SDK\Resource;
use JustSteveKing\Tools\SDK\SDK;
use JustSteveKing\Tools\SDK\Transport\HttpTransport;
$resource = new Resource(
sdk: new SDK(
client: HttpTransport::client(),
),
);
// Access the underlying SDK
$resource->sdk();
// Access the client from the resource
$resource->sdk()->client();
// Example of sending a request
$resource->sdk()->client()->sendRequest(
request: new Request(
method: Method::GET,
uri: 'https://api.domain.com/resource',
),
);
use JustSteveKing\Tools\SDK\Resource;
use Psr\Http\Message\ResponseInterface;
class Project extends Resource
{
public function list(): ResponseInterface
{
try {
$response = $this->sdk()->client()->sendRequest(
request: new Request(
method: Method::GET,
uri: 'https://api.domain.com/resource',
),
)
} catch (Throwable $exception) {
throw new AcmeRequestException(
message: 'Failed to fetch projects from API',
previous: $exception,
);
}
return $response;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.