本文整理汇总了PHP中SqlParser\Context::isString方法的典型用法代码示例。如果您正苦于以下问题:PHP Context::isString方法的具体用法?PHP Context::isString怎么用?PHP Context::isString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SqlParser\Context
的用法示例。
在下文中一共展示了Context::isString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testIsString
public function testIsString()
{
$this->assertEquals(Token::FLAG_STRING_SINGLE_QUOTES, Context::isString("'"));
$this->assertEquals(Token::FLAG_STRING_DOUBLE_QUOTES, Context::isString('"'));
$this->assertEquals(Token::FLAG_STRING_SINGLE_QUOTES, Context::isString("'foo bar'"));
$this->assertEquals(Token::FLAG_STRING_DOUBLE_QUOTES, Context::isString('"foo bar"'));
$this->assertEquals(Context::isString('foo bar'), null);
}
示例2: parseString
/**
* Parses a string.
*
* @param string $quote Additional starting symbol.
*
* @return Token
*/
public function parseString($quote = '')
{
$token = $this->str[$this->last];
if (!($flags = Context::isString($token)) && $token !== $quote) {
return null;
}
$quote = $token;
while (++$this->last < $this->len) {
if ($this->last + 1 < $this->len && ($this->str[$this->last] === $quote && $this->str[$this->last + 1] === $quote || $this->str[$this->last] === '\\' && $quote !== '`')) {
$token .= $this->str[$this->last] . $this->str[++$this->last];
} else {
if ($this->str[$this->last] === $quote) {
break;
}
$token .= $this->str[$this->last];
}
}
if ($this->last >= $this->len || $this->str[$this->last] !== $quote) {
$this->error(sprintf(__('Ending quote %1$s was expected.'), $quote), '', $this->last);
} else {
$token .= $this->str[$this->last];
}
return new Token($token, Token::TYPE_STRING, $flags);
}