本文整理汇总了PHP中Context::current方法的典型用法代码示例。如果您正苦于以下问题:PHP Context::current方法的具体用法?PHP Context::current怎么用?PHP Context::current使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Context
的用法示例。
在下文中一共展示了Context::current方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get
public static function get()
{
if (Context::$current == NULL) {
Context::$current = new Context();
}
return Context::$current;
}
示例2: handle
/**
* 文字 %x20, %x09, %x0A, %x0D を読み飛ばします.
*
* @param Context $context
*/
public function handle(Context $context)
{
static $wsList = array("\r", "\n", "\r\n", "\t", " ");
while ($context->hasNext()) {
$current = $context->current();
if (!in_array($current, $wsList)) {
break;
}
$context->next();
}
}
示例3: decodeLiteral
/**
* リテラル null, true, false をデコードします.
*
* @param Context $context
* @param string $literal
* @param mixed $value
*/
private function decodeLiteral(Context $context, $literal, $value)
{
$count = strlen($literal);
if ($context->getSequence($count) !== $literal) {
$current = $context->current();
$context->throwException("Unexpected character found ('{$current}')");
}
$this->result = $value;
$context->skip($count);
}
示例4: decodeEscapedChar
/**
* "\" で始まる文字列を対応する文字に変換します.
*
* @param Context $context
* @return string
*/
private function decodeEscapedChar(Context $context)
{
// @codeCoverageIgnoreStart
static $specials = null;
if ($specials === null) {
$specials = array("\\" => "\\", '"' => '"', "/" => "/", "b" => chr(0x8), "f" => chr(0xc), "n" => "\n", "r" => "\r", "t" => "\t");
}
// @codeCoverageIgnoreEnd
$current = $context->current();
if (array_key_exists($current, $specials)) {
$context->next();
return $specials[$current];
}
// decode \uXXXX
if ($current !== "u") {
$context->throwException("Invalid escape sequence ('\\{$current}')");
}
$context->next();
$hex = $context->getSequence(4);
if (!preg_match("/^[0-9A-Fa-f]{4}\$/", $hex)) {
$context->throwException("Invalid hexadecimal sequence (Expected: \\uXXXX)");
}
$context->skip(4);
return $context->encodeCodepoint(hexdec($hex));
}
示例5: handleChar
/**
*
* @param Context $context
* @throws DecodeException 期待されている文字以外の文字を検知した場合
*/
private function handleChar(Context $context)
{
$chr = $context->current();
$expected = $this->expected;
if (in_array($chr, $expected, true)) {
$this->result = $chr;
$context->next();
return;
}
$quote = function ($chr) {
return "'{$chr}'";
};
$expectedList = implode(", ", array_map($quote, $expected));
$context->throwException("'{$chr}' is not allowed (expected: {$expectedList})");
}