megaads/apify-client-php

PHP的Apify客户端

1.0.14 2021-08-12 09:53 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:49:08 UTC


README

安装

系统需求

  • PHP: >= 5.6
  • Laravel/Lumen框架:4.*或更高版本

需要Composer包

`composer require megaads/apify-client-php`

创建查询构建器

use Megaads\ApifyClient\Client;

$query = Client::endpoint("product", [
    Client::OPTION_API_HOST => "https://api.domain.com",
    Client::OPTION_API_AUTH => "token=dsfqwe123sdf2342c",
    Client::OPTION_REQUEST_HEADER => ["Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l"]
]);

添加自定义字段

向请求URL添加自定义参数

$query->addField("customer_id", 123);

$query->addField("version", "1.0.0");

获取请求URL

查看生成的请求URL的最简单方法

$query->toURL();

分页

$query->pageId(0);

$query->pageSize(100);

排序

升序排序

$query->sort("user_id");

降序排序

$query->sort("-created_at");

按多个列排序

$query->sort(["user_id", "-created_at"]);

选择

从记录中选择列。SQL聚合函数(如COUNTMAXMINSUMAVG)和SQL别名也可用

$query->select("id");

$query->select(["content", "user_id", "sum(view_count) as view_sum"]);

分组

通过一个或多个列对结果集进行分组,并使用选择与聚合函数结合

$query->select(["user_id", "sum(view_count) as view_sum"]);

$query->group("user_id");

过滤

关系

Apify提供了将关系数据嵌入结果的能力

例如

$query->embed("cities");

$query->embed(["nation", "districts"]);

基于关系的过滤

$query->filter("nation.location_code", Client::SELECTION_EQUAL, "EU");

$query->filter("districts.name", Client::SELECTION_LIKE, land);

检索数据

查找:检索单个记录

$query->find(1);

获取:检索与查询匹配的所有记录

$query->get();

响应格式

[
    "meta" => [
        "has_next" => true,
        "total_count" => 100,
        "page_count" => 2,
        "page_size" => 50,
        "page_id" => 0
    ],
    "result" => [],
    "status" => "successful"
]

第一个:检索与查询匹配的第一个记录

$query->first();

响应格式

[    
    "result" => [],
    "status" => "successful"
]

计数:检索与查询匹配的记录数

$query->count();

响应格式

[    
    "result" => 50,
    "status" => "successful"
]

递增/递减:为递增或递减所选列的值提供方便的方法

$query->select("view_count");

$query->increment();

响应格式

[    
    "result" => 1,
    "status" => "successful"
]

发送自定义请求

use Megaads\ApifyClient\Client;

$query = Client::request("https://api.domain.com/product", 
Client::METHOD_POST, 
[
    "name" => "Hello",
    "code" => "C0001"
],
[
    "Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l"
]);

许可证

Apify是开源软件,根据MIT许可证授权

联系我们/即时反馈

电子邮件:info@megaads.vn

Skype: phult.bk