sturents/api


README

主分支用于 v2.0 版本,目前尚未发布;请检查发布记录以获取以前版本。对于出站数据请查看 1.3.*,对于入站使用 1.2.*。

使用 Composer 安装

php composer.phar require sturents/api

等等,什么是 Composer?

Composer 是 PHP 项目的默认包管理器。如果您以前没有使用过它,设置起来非常简单。

  1. 访问 Composer 下载页面,并按照说明将 composer 下载到项目根目录。
  2. 现在您应该在项目根目录中有一个名为 composer.phar 的文件。您可以使用此文件运行 各种命令
  3. 首先运行 php composer.phar init 创建您的 composer.json 文件。此文件存储了您的所有项目配置和依赖项。
  4. 现在,您可以通过在 readme 顶部运行命令来安装 StuRents API,或者在 composer.json 文件中的 "require" 对象中添加 "sturents/api": "*"

要使用 PHP 文件中的 Composer 依赖项,很简单 - 只需将以下代码添加到文件顶部

require_once __DIR__.'/vendor/autoload.php';

现在您可以创建或使用任何对象,而无需担心要求其文件 - Composer 和 PHP 的自动加载器会为您处理。

向 StuRents 发送属性

$property = new \SturentsLib\Api\Models\PropertyCreation;
// Use setters to create sub-objects and set properties as
// described in the documentation:
//   https://sturents.com/software/developer/house-create
// Or as demonstrated in `examples/send.php`

$upload_client = new \SturentsLib\Api\UploadClient(LANDLORD_ID, UPLOAD_KEY);
$put_property = new \SturentsLib\Api\Requests\PutProperty;
$put_property->setBody($property);
try {
    $response = $put_property->sendWith($upload_client);
}
catch (\Exception $e){
   echo "An unexpected problem happened: ".$e->getMessage();
}

if ($response instanceof PropertySaved){
	echo 'Property created with ID: '.$response->getPropertyId()."\n"; // outputs an integer
}
elseif ($response->isError()){
	echo 'A known error occurred of type '.get_class($response)."\n";
	echo json_encode($response)."\n";
}
else {
	echo 'An unknown error occurred of type '.get_class($response)."\n";
}

使用房东 ID 从 StuRents 获取数据

// Where LANDLORD_ID is an integer
$display_client = new \SturentsLib\Api\DisplayClient(LANDLORD_ID, DISPLAY_KEY);
$get_properties = new \SturentsLib\Api\Requests\GetProperties;
try {
    $response = $get_properties->sendWith($display_client);
}
catch (\Exception $e){
   echo "A problem happened: ".$e->getMessage();
}

var_dump($response instanceof ListProperties); // outputs 'true'

echo $response->pagination->pages // echo, e.g. 3

var_dump($response->properties[0] instanceof PropertyOutbound) // outputs 'true'

作为通道从 StuRents 获取数据

// Where *_ID values are strings
$display_client = new \SturentsLib\Api\ChannelClient(LANDLORD_ID, CHANNEL_ID, DISPLAY_KEY);
$get_properties = new \SturentsLib\Api\Requests\GetProperties;
try {
    $response = $get_properties->sendWith($display_client);
}
catch (\Exception $e){
   echo "A problem happened: ".$e->getMessage();
}

var_dump($response instanceof ListProperties); // outputs 'true'

echo $response->pagination->pages // echo, e.g. 3

var_dump($response->properties[0] instanceof PropertyOutbound) // outputs 'true'