tedeh / pingback
Pingback客户端和服务器实现
Requires
- php: >=5.0.0
This package is not auto-updated.
Last update: 2024-09-14 12:27:38 UTC
README
由Tedde Lundgren创建并享有版权,许可协议为MIT。
简介
Pingback,根据维基百科的描述,是“三种链接回传方式之一,网络作者请求当有人链接到他们的文档时通知他们的一种方法”。更确切地说,这是一个基于XML-RPC的显式定义的程序,使得网络应用程序(通常是博客)能够就链接进行通信。
这个库是为了符合官方pingback规范而构建的,支持pingback请求的发送和接收。
需求
需求主要集中在PHP5中常见库。
- PHP >= 5
- cURL (http://se.php.net/manual/en/book.curl.php)
- XML-RPC (http://se.php.net/manual/en/book.xmlrpc.php)
- 文档对象模型 (http://se.php.net/manual/en/book.dom.php)
使用说明和实现注意事项
概述
该库由三个类组成。
- Pingback_Server管理服务器和请求的复合验证
- Pingback_Utility提供一组静态方法以帮助服务器和客户端
- Pingback_Exception是库抛出异常的类
Pingback_Utility
Pingback_Utility包含以下静态方法。
Pingback_Utility::isURL()
@param string $url
URL@return boolean
是否为有效URL
返回一个布尔值,确定第一个参数是否为有效URL。
Pingback_Utility::isPingbackEnabled()
@param string $url
URL@return boolean
是否支持pingback
返回一个布尔值,确定第一个参数是否支持接收pingback。
Pingback_Utility::getRawPostData()
@return string
原始POST数据
读取原始、未过滤的POST数据并返回它
Pingback_Utility::getPingbackURL()
@param string @url
URL@return string
如果找到,则返回服务器地址
从第一个参数中提取pingback URL。
PingbackUtility::isBacklinking()
@param string $from
页面的URL@param string $to
至少应存在于一个链接中的URL@return boolean
是否存在链接
确定第一个参数是否链接到第二个。
PingbackUtility::sendPingback()
@param string $from
pingback的发起者@param string $to
pingback的目标@param string $server
服务器URL@return string
服务器原始响应
客户端实现。接受三个参数。第一个是pingback请求的源URL(发起者),第二个是目标URL,第三个是pingback服务器的URL。返回服务器的原始响应,可以很容易地用xmlrpc_decode_request()
解析。
Pingback_Server
PingbackServer 是一个可实例化的类,表示 pingback 服务器资源。对于有效的 pingback 请求的大多数要求都自动评估。然而,有两个具体的要求必须通过额外的、由用户提供的逻辑来评估。这两个要求的相应错误是
- Pingback_Server::RESPONSE_FAULT_ALREADY_REGISTERED pingback 已经注册
- Pingback_Server::RESPONSE_FAULT_ACCESS_DENIED 服务器资源的访问已被拒绝
在执行绑定的请求后,实现者可以使用 Pingback_Server->setFault()
来确保如果请求的所有要求都没有满足,则返回适当的响应。
Pingback_Server->__construct()
@param array $options
选项数组
接收一个选项数组,这些选项将自动设置。创建服务器实例并启用服务器上的 pingback 方法。
Pingback_Server->getOption()
@param string $option
要返回的选项@return mixed
值或不存在时为 null
返回一个选项。
Pingback_Server->setOption()
@param string $option
选项名称@param mixed $value
要设置的值
接收一个选项数组。
Pingback_Server->setOptions()
@param array $options
选项数组
接收一个选项数组。
Pingback_Server->execute()
@param string $request
评估此请求
评估给定的请求。如果没有提供参数,则评估已设置的请求。
Pingback_Server->setResponse()
@param string $response
响应
将响应设置为字符串。
Pingback_Server->setRequest()
@param string $request
请求
将请求设置为字符串。
Pingback_Server->getRequest()
@return string
请求
返回请求。
Pingback_Server->getResponse()
@return string
响应
返回响应。
Pingback_Server->getSourceURL()
@return string
源 URL
从请求中返回源 URL。
Pingback_Server->getTargetURL()
@return string
目标 URL
从请求中返回目标 URL。
Pingback_Server->getTargetURL()
@return boolean
目标 URL
从请求中返回目标 URL。
Pingback_Server->getFaultAsArray()
@param integer $faultCode
故障代码@return array
故障(代码和字符串)格式化为数组
以适合响应的数组形式返回传递的故障代码。
Pingback_Server->setFault()
@param integer $faultCode
要设置的故障代码
设置请求的故障代码。
Pingback_Server->getSuccessAsArray()
@return array
成功数组
以适合响应的数组形式返回成功响应。
Pingback_Server->setSuccess()
标记当前请求为成功。
Pingback_Server->isValid()
@return boolean
请求有效性
返回当前请求是否被认为是有效的。
可用选项
设置选项的方法支持以下选项名称和值
string 'encoding'
服务器使用的编码
响应
Pingback_Server 有一些类常量可以与服务器实例上的适当方法一起使用。服务器返回的实际消息可以通过更改 Pingback_Server->responses
数组中的字符串来操作(其中数组的键对应于类常量)。
- Pingback_Server::RESPONSE_FAULT_GENERIC 未知错误
- Pingback_Server::RESPONSE_FAULT_SOURCE 源链接无效
- Pingback_Server::RESPONSE_FAULT_SOURCE_LINK 源未反向链接到目标
- Pingback_Server::RESPONSE_FAULT_TARGET 目标链接无效
- Pingback_Server::RESPONSE_FAULT_TARGET_INVALID 目标未启用 pingback
- Pingback_Server::RESPONSE_FAULT_ALREADY_REGISTERED Pingback 已经注册
- Pingback_Server::RESPONSE_FAULT_ACCESS_DENIED 访问拒绝
- Pingback_Server::RESPONSE_SUCCESS 表示成功