이는 Vebra XML 웹 서비스의 사용을 단순화하는 것을 목표로 하는 타사 PHP 라이브러리입니다.
현재 API 버전은 버전 9입니다.
주의: 이 라이브러리는 어떤 방식으로든 Vebra와 관련이 없습니다.
자세한 내용은 사용자 가이드 또는 Vebra API 버전 9 스키마를 참조하세요.
PHP 5.3+
Buzz 경량 HTTP 요청 라이브러리.
새 프로젝트를 시작하거나 기존 프로젝트에서 작곡가를 사용하지 않는 경우 작곡가를 다운로드하여 설치하세요.
curl -s http://getcomposer.org/installer | php
이 라이브러리를 종속성으로 사용하여 새 작곡가.json 파일을 만듭니다.
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
프로젝트에서 이미 작곡가를 사용하고 있는 경우 위에 표시된 대로 프로젝트에서 작곡가.json 파일을 편집하고 이 라이브러리를 종속성으로 추가하세요.
작곡가를 사용하여 프로젝트 종속성을 설치합니다.
php composer.phar install
스크립트 또는 부트스트랩 코드에 작성기 자동 로더가 필요합니다.
<?php
require ' vendor/autoload.php ' ;
작곡가에 대한 자세한 내용은 작곡가 홈페이지를 참고하세요.
웹 서비스에 대한 요청은 인증되어야 합니다. 처음에는 사용자 이름과 비밀번호를 사용하여 이 작업을 수행하고 웹 서비스는 모든 후속 요청에 저장하고 사용해야 하는 인증 토큰을 반환합니다. 토큰을 저장하지 못하면 인증 토큰이 만료될 때까지 웹 서비스에 더 이상 요청할 수 없습니다. 인증 토큰은 약 1시간 동안 유효하며 만료된 인증 토큰을 사용하여 요청하는 경우 웹 서비스는 401(인증되지 않음) 헤더를 반환합니다. 이 경우 API는 자동으로 재인증하고 새 인증 토큰을 받습니다.
이 동작을 활성화하기 위해 라이브러리에는 로컬 파일 시스템의 파일에서 토큰을 저장하고 로드하는 기본 토큰 저장소 클래스가 포함되어 있습니다. 토큰을 다르게 저장하려면(예: 데이터베이스에) TokenStorageInterface를 구현해야 하는 고유한 토큰 저장소 클래스를 제공할 수 있습니다.
YDDVebraTokenStorageFile의 인스턴스를 생성하려면 토큰을 저장하는 데 사용하려는 디렉터리(쓰기 가능해야 함)에 사용자 이름과 경로를 전달합니다. 여러 사용자를 지원하기 위해 각 사용자는 자신만의 토큰 파일(사용자 이름의 해시에서 파생됨)을 갖습니다.
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
이 경량 HTTP 요청 라이브러리는 웹 서비스에서 HTTP 요청을 보내거나 HTTP 응답을 반환하는 데 사용됩니다. Buzz에는 선택할 수 있는 몇 가지 클라이언트(FileGetContents/Curl)가 있으며 다른 클라이언트는 나중에 추가될 수 있습니다. 사용하려는 Buzz 클라이언트의 인스턴스와 BuzzMessageFactory(API에서 응답 객체를 생성하는 데 사용됨)의 인스턴스를 생성해야 합니다.
이제 필수 매개변수와 객체가 있으므로 API 인스턴스를 생성할 수 있습니다.
use YDDVebraAPI as VebraAPI;
use YDDVebraTokenStorageFile as TokenStorageFile;
use BuzzClientCurl as BuzzClientCurl;
use BuzzMessageFactoryFactory as BuzzMessageFactory;
$api = new VebraAPI(
'datafeedid',
'username',
'password',
new TokenStorageFile('username', __DIR__.'/tokens/'),
new BuzzClientCurl(),
new BuzzMessageFactory()
);
모든 분기를 검색합니다(분기 요약 개체의 반복 가능한 컬렉션으로).
$branchSummaries = $api->getBranches();
분기 요약 개체를 반복하고 각각에 대한 분기 개체를 검색합니다.
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
반환된 분기 개체에는 각 속성에 대한 접근자가 있습니다.
echo $branch->getName();
특정 분기에 대한 속성을 검색합니다(속성 요약 개체의 반복 가능한 컬렉션으로).
$propertySummaries = $api->getPropertyList($branch->getClientId());
속성 요약 개체를 반복하고 각각에 대한 속성 개체를 검색합니다.
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
반환된 속성 객체에는 각 속성에 대한 접근자가 있습니다.
echo $property->getAddress();
특정 날짜 이후 변경된 속성을 검색합니다.
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
특정 날짜 이후 변경된 파일을 검색합니다.
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
데이먼 존스 - [email protected]
매튜 데이비스 [email protected]
Vebra PHP API Wrapper는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 라이선스 파일을 참조하세요.