webino/request

简单的PHP环境请求实现。

dev-develop 2019-07-19 22:13 UTC

This package is auto-updated.

Last update: 2024-09-20 10:14:02 UTC


README

简单的PHP环境请求实现。 [进行中]

Build Status Coverage Status Code Quality Latest Stable Version

推荐用法

获取应用分发的请求数据。

设置

PHP from Packagist

composer require webino\request

快速使用

获取当前执行上下文的请求对象

use Webino\InstanceContainer;
use Webino\HttpRequest;
use Webino\ConsoleRequest;
use Webino\RequestInterface;

$container = new InstanceContainer;

/** @var RequestInterface $request */
$request = $container->get(RequestInterface::class);

if ($request instanceof HttpRequest) {

} elseif ($request instanceof ConsoleRequest) {

}

制作HTTP请求

use Webino\InstanceContainer;
use Webino\HttpRequest;

$container = new InstanceContainer;

/** @var HttpRequest $request */
$request = $container->make(HttpRequest::class, HttpRequest::defaults([
    HttpRequest::QUERY_STRING => 'foo=bar&baz=bam',
    HttpRequest::SCRIPT_NAME => '/example/index.php',
    HttpRequest::SCRIPT_FILENAME => '/var/www/html/example/index.php',
    HttpRequest::URI => '/example/some-route'
]));

制作控制台请求

use Webino\InstanceContainer;
use Webino\ConsoleRequest;

$container = new InstanceContainer;

/** @var ConsoleRequest $request */
$request = $container->make(ConsoleRequest::class, ConsoleRequest::defaults([
    ConsoleRequest::COMMAND => 'foo --bar baz',
    ConsoleRequest::SCRIPT_FILENAME => '/var/www/html/test/index.php',
]));

API

RequestInterface

  • const TIME
    请求时间浮点选项。

  • const TIME_DEFAULT
    默认请求时间浮点值,示例。

  • const SCRIPT_FILENAME
    执行脚本文件名字符串选项。

  • const SCRIPT_FILENAME_DEFAULT
    默认执行脚本文件名,示例。

  • float getRequestTime()
    返回HTTP请求时间。

  • string getScriptFileName()
    返回执行脚本文件名。

HttpRequest

  • const SCRIPT_NAME
    执行脚本名称字符串选项。

  • const SCRIPT_NAME_DEFAULT
    执行脚本名称,示例值。

  • const GATEWAY_INTERFACE
    网关接口字符串选项。

  • const GATEWAY_INTERFACE_DEFAULT
    网关接口,示例值。

  • const SERVER_SOFTWARE
    服务器软件字符串选项。

  • const SERVER_SOFTWARE_APACHE
    Apache服务器软件,示例值。

  • const SERVER_SOFTWARE_NGINX
    Nginx服务器软件,示例值。

  • const HOST
    服务器主机名字符串选项。

  • const HOST_LOCAL
    本地服务器主机名,示例值。

  • const HOST_IP
    服务器IP地址字符串选项。

  • const HOST_IP_LOCAL
    本地服务器IP地址,示例值。

  • const URI
    请求URI字符串选项。

  • const URI_DEFAULT
    请求URI,示例值。

  • const METHOD
    请求方法字符串选项。

  • const METHOD_GET
    GET请求方法,示例值。

  • const METHOD_POST
    POST请求方法,示例值。

  • const SCHEME
    请求方案字符串选项。

  • const SCHEME_HTTP
    HTTP请求方案,示例值。

  • const SCHEME_HTTPS
    HTTPS请求方案,示例值。

  • const PORT
    请求端口字符串选项。

  • const PORT_HTTP
    HTTP请求端口,示例值。

  • const PORT_HTTPS
    HTTPS请求端口,示例值。

  • const QUERY_STRING
    查询字符串选项。

  • const QUERY_STRING_DEFAULT
    查询字符串,示例值。

  • const ACCEPT
    接受头字符串选项。

  • const ACCEPT_HTML
    接受HTML头,示例值。

  • const ACCEPT_LANGUAGE
    接受语言头字符串选项。

  • const ACCEPT_LANGUAGE_DEFAULT
    默认接受语言,示例值。

  • const ACCEPT_CHARSET
    接受字符集头字符串选项。

  • const ACCEPT_CHARSET_DEFAULT
    默认字符集头,示例值。

  • const ACCEPT_ENCODING
    接受编码头字符串选项。

  • const ACCEPT_ENCODING_DEFAULT
    默认接受编码头,示例值。

  • const USER_AGENT
    用户代理头字符串选项。

  • const USER_AGENT_DEFAULT
    默认用户代理头,示例值。

  • const REFERER
    来源头字符串选项。

  • const REFERER_DEFAULT
    默认来源头,示例值。

  • const REMOTE_IP
    远程IP地址字符串选项。

  • const REMOTE_IP_LOCAL
    本地远程IP地址,示例值。

  • const REMOTE_PORT
    远程端口字符串选项。

  • const REMOTE_PORT_DEFAULT
    默认远程端口,示例值。

  • const REQUESTED_WITH
    “x-requested-with”头字符串选项。

  • const REQUESTED_WITH_AJAX
    Ajax的“x-requested-with”头,示例值。

  • string getRoutePath()
    返回路由路径。

  • string getScriptName()
    返回执行的脚本名称。

  • string getMethod()
    返回HTTP请求方法。

  • string getHost()
    返回HTTP主机名称。

  • string getHostIP()
    返回HTTP主机IP地址。

  • string getScheme()
    返回HTTP请求方案。

  • bool isHttps()
    当请求方案是HTTPS时返回true。

  • string getPort()
    返回HTTP请求端口。

  • string getQueryString()
    返回HTTP请求查询字符串。

  • string getBasePath()
    返回HTTP根目录。

  • string getUri()
    返回请求URI。

  • string getGatewayInterface()
    返回服务器网关接口标识符。

  • string getServerSoftware()
    返回服务器软件标识符。

  • string getAccept()
    返回HTTP接受头值。

  • string getAcceptLanguage()
    返回HTTP接受语言头值。

  • string getAcceptCharset()
    返回HTTP接受字符集头值。

  • string getAcceptEncoding()
    返回HTTP接受编码头值。

  • string getUserAgent()
    返回HTTP请求用户代理。

  • string getReferer()
    返回HTTP引用头值。

  • string getRemoteIP()
    返回HTTP远程IP地址。

  • string getRemotePort()
    返回HTTP远程端口。

  • bool isAjax()
    当请求是通过Ajax发出的时返回true。

  • array static defaults(array $overrides = [])
    返回默认HTTP请求选项,示例值。

ConsoleRequest

  • const COMMAND
    控制台命令字符串选项。

  • string getCommand()
    返回控制台命令。

  • array static defaults(array $overrides = [])
    返回默认控制台请求选项,示例值。

开发

Build Status Coverage Status Code Quality Latest Unstable Version

静态分析

composer analyse

编码风格检查

composer check

编码风格修正

composer fix

测试

composer test

Git预提交设置

ln -s ../../pre-commit .git/hooks/pre-commit

补充

License Total Downloads GitHub code size in bytes

请,如果您对这个库感兴趣,请报告任何问题,并毫不犹豫地贡献。我们将非常感激对这个库发展的任何贡献。

GitHub issues GitHub forks