euskadi31/spore
Composer 安装命令:
composer require euskadi31/spore
包简介
Spore client for PHP5.3+
README 文档
README
This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP.
SPORE is a way to describe public services HTTP APIs such as [twitter] 1 or applications with an HTTP interface such as [Apache CouchDB] 2 using a simple language-agnostic JSON document that can be used by various language-specific implementations to dynamically or statically generate high level client objects.
The goal of this git repository is to host:
- the specifications for the [SPORE description language] 3
- the specifications for writing a [SPORE client implementation] 4
Applications and services API descriptions
Install
Use Composer.phar
cd Spore/
curl -s https://getcomposer.org/installer | php
php composer.phar install
Usage
The examples are a good place to start. The minimal you'll need to have is:
<?php namespace Application; require __DIR__ . '/../vendor/autoload.php'; use Spore; $client = new Spore\Client(); $client->loadSpec(__DIR__ . '/spec/github.json'); $response = $client->call('GET', 'get_user', array( 'user' => 'euskadi31' )); print_r($response->getContent()); ?>
Output
stdClass Object
(
[type] => User
[company] => Audiofanzine
[public_gists] => 6
[followers] => 12
[created_at] => 2010-02-03T10:25:00Z
[blog] =>
[following] => 42
[email] =>
[public_repos] => 14
[location] => Toulouse, France
[html_url] => https://github.com/euskadi31
[name] => Axel Etcheverry
[hireable] =>
[url] => https://api.github.com/users/euskadi31
[gravatar_id] => 6171ad2ceddde3288b87c546e92f2909
[avatar_url] => https://secure.gravatar.com/avatar/6171ad2ceddde3288b87c546e92f2909?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png
[id] => 195383
[bio] => PHP & Zend Framework developer
[login] => euskadi31
)
Generated client
cd Spore/
bin/spore generate:client demo/spec/github.json
<?php namespace Application; require __DIR__ . '/../vendor/autoload.php'; use Acme; $client = new Acme\Client\Github; $response = $client->getUser(array( 'user' => 'euskadi31' )); print_r($response->getContent()); ?>
Output
stdClass Object
(
[type] => User
[company] => Audiofanzine
[public_gists] => 6
[followers] => 12
[created_at] => 2010-02-03T10:25:00Z
[blog] =>
[following] => 42
[email] =>
[public_repos] => 14
[location] => Toulouse, France
[html_url] => https://github.com/euskadi31
[name] => Axel Etcheverry
[hireable] =>
[url] => https://api.github.com/users/euskadi31
[gravatar_id] => 6171ad2ceddde3288b87c546e92f2909
[avatar_url] => https://secure.gravatar.com/avatar/6171ad2ceddde3288b87c546e92f2909?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png
[id] => 195383
[bio] => PHP & Zend Framework developer
[login] => euskadi31
)
Test with Atoum
The tests can be executed by using this command from the base directory:
./vendor/mageekguy/atoum/bin/atoum --glob Tests/Units/
Report Issues/Bugs
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2012-11-11