adadgio/common

Adadgio Commons

2.1.0 2019-07-23 08:50 UTC

This package is auto-updated.

Last update: 2024-09-23 20:12:45 UTC


README

安装

使用 composer 安装

composer require adadgio/common

目录

  1. Curl
  2. Url
  3. ParamResolver
  4. JsonResponse

Curl

用于执行 Curl 请求(GET 或 POST)并返回结果

use Adadgio\Common\Http\Curl;


// GET request
$curl = new Curl();
$response = $curl
    ->get('http://example.com', array('query_param_1' => 'query param value'));


// or POST request with params
$curl = new Curl();
$response = $curl
    ->setContentType(Curl::JSON) // other options are JSON|XML|TEXT|FORL_URLENCODED|FORM_MULTIPART
    ->post('http://example.com', array('post_field_1' => 'psot field value'));

// POST request with more options
$curl = new Curl();
$response = $curl
    ->setContentType(Curl::JSON) // other options are JSON|XML|TEXT|FORL_URLENCODED|FORM_MULTIPART
    ->setAuthorizationBasic('Token', 'user', 'pass') // or ->setAuthorization('Basic', base64_encode('user:pass'))
    // or ->setAuthorization('Token', yO3my4To3en)
    ->setCookies(true)
    // ->addHeader('X-Custom-Header', 'CUst0mApiK3y')
    ->verifyHost(false) // or ->addOption(CURLOPT_SSL_VERIFYHOST, false)
    ->verifyPeer(true, "/home/my/server/cacert.pem") // second param is empty but you should set it in php.ini
    ->post('http://example.com', array('post_field_1' => 'psot field value'));

UrlHelper

帮助检查 URL 是否为相对路径或绝对路径,标准化 URL,获取协议,检查协议是否为空...

所有方法均在 UrlHelper.php 中有注释

ParamResolver

两种方法用于判断值是否为有效的数组或有效的整数(>0)。如果不是这种情况,则返回默认值参数。

use Adadgio\Common\ParamResolver;

$arrayToTest = array(
    'one'    => true,
    'barbar' => 29393,
    'first'  => 'foo',
);

$defaultArray = array(
    'one'     => false,
    'second'  => 'yolo',
);

$array = ParamResolver::toArray($arrayToTest, $defaultArray);
use Adadgio\Common\ParamResolver;

$integer = ParamResolver::toInt(430, 0);

JsonResponse

自定义的简单响应对象处理器,用于响应 JSON 数据

use Adadgio\Common\JsonResponse;

// $data is an object or an array
$data = array('yes' => 'no', 'bar' => 'foo');

// default response code is 200
$code = 200;

// specific headers, default: array()
$headers = array();

$array = JsonResponse::fire($data, $code, $headers);

此工具返回人类可读的日期以显示,如几秒钟...默认参考值为当前日期和时间,可以在第二个参数中设置自定义参考值。

use Adadgio\Common\Moment\Since;
// Examples with referential date: "2016-07-29 12:00:00"

Since::format(new \DateTime('2016-06-29 09:00:00'));
// 09:00

Since::format(new \DateTime('2016-07-28 22:00:00'));
// Yesterday

Since::format(new \DateTime('2016-07-29 12:00:00'));
// Now

Since::format(new \DateTime('2016-07-29 11:59:55'));
// 5 seconds