eher/chegamos-lib

Chegamos (https://github.com/EHER/chegamos) 的核心库,用于其他项目 :D

2.0.1 2014-12-25 21:24 UTC

README

使用 make 与项目交互。

示例

示例假设您已配置 Autoloader 并拥有 API 访问密钥。

所有示例都必须从以下内容开始

<?php

use chegamos\rest\client\Curl as RestClient;
use chegamos\rest\auth\BasicAuth;
use chegamos\entity\Config;
use chegamos\entity\repository\UserRepository;
use chegamos\entity\repository\PlaceRepository;

use chegamos\entity\City;
use chegamos\entity\Address;
use chegamos\entity\Point;

$key = "ConsumerKey";
$secret = "ConsumerSecret";

$config = new Config();
$config->setBaseUrl("http://api.apontador.com.br/v1/");
$config->setBasicAuth(
    new BasicAuth($key, $secret)
);
$config->setRestClient(
    new RestClient()
);

本地库

$placeRepository = new PlaceRepository($config);

获取本地数据

$place = $placeRepository->get("UCV34B2P");
var_dump($place);

获取带评价的本地数据

$place = $placeRepository->byId("UCV34B2P")
->withReviews()
->get();
var_dump($place);

获取带图片的本地数据

$place = $placeRepository->byId("UCV34B2P")
->withPhotos()
->get();
var_dump($place);

根据地址(CEP)列出附近地点

$places = $placeRepository->byZipcode("18040690")
->getAll();
var_dump($places);

根据类别过滤地址(CEP)附近的地点

$places = $placeRepository->byZipcode("18040690")
->withCategoryId("043") // Associacoes E Sindicatos
->getAll();
var_dump($places);

根据子类别过滤地址(CEP)附近的地点

$places = $placeRepository->byZipcode("18040690")
->withSubcategoryId("6661") // Associacoes Beneficentes
->getAll();
var_dump($places);

根据名称过滤地址(CEP)附近的地点

$places = $placeRepository->byZipcode("18040690")
->withName("Cafe")
->getAll();
var_dump($places);

列出城市(城市,UF)的地点

$city = new City();
$city->setName("São Paulo");
$city->setState("SP");

$address = new Address();
$address->setCity($city);

$places = $placeRepository->byAddress($address)
->getAll();
var_dump($places);

通过地理坐标列出地点

$point = new Point();
$point->setLat("-23.51241");
$point->setLng("-47.46828");

$places = $placeRepository->byPoint($point)
->withName("Cafe")
->getAll();
var_dump($places);

用户库

$userRepository = new UserRepository($config);

获取用户数据

$user = $userRepository->get("8972911185");
var_dump($user);

获取带评价的用户数据

$user = $userRepository->byId("8972911185")
->withReviews()
->get();
var_dump($user);

获取带第二页评价的用户数据

$user = $userRepository->byId("8972911185")
->withReviews()
->page(2)
->get();
var_dump($user);

按名称搜索用户

$userList = $userRepository->byName("Eher")
->getAll();
var_dump($userList);

按邮箱搜索用户

$userList = $userRepository->byEmail("alexandre@eher.com.br")
->getAll();
var_dump($userList);

Curl 或 Guzzle

Guzzle 是一种非常友好的方式,用于处理 REST 而无需直接处理 Curl。在上面的示例中,我们使用 Curl,因为它不依赖于其他项目,但推荐使用 Guzzle。

要将 Curl 更改为 Guzzle,只需更改以下行

use chegamos\rest\client\Curl as RestClient;

use chegamos\rest\client\Guzzle as RestClient;