本文整理匯總了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);
}