ride / lib-tokenizer

此包的最新版本(1.0.2)没有提供许可证信息。

Ride框架的Tokenizer库。

1.0.2 2018-03-29 09:43 UTC

This package is auto-updated.

Last update: 2024-09-12 23:58:08 UTC


README

这个库为你提供了一些将字符串解析成标记的类。

代码示例

ORM模块上下文中的示例代码

<?php

use ride\library\tokenizer\symbol\NestedSymbol;
use ride\library\tokenizer\symbol\SimpleSymbol;
use ride\library\tokenizer\Tokenizer;

$tokenizer = new Tokenizer();
$tokenizer->setWillTrimTokens(true);
$tokenizer->addSymbol(new SimpleSymbol('AND'));
$tokenizer->addSymbol(new SimpleSymbol('OR'));
$tokenizer->addSymbol(new NestedSymbol('(', ')', $tokenizer));

$condition = '{field} = %2% AND {field2} <= %1%';
$tokens = $tokenizer->tokenize($condition);
// array(
//    '{field} = %2%', 
//    'AND', 
//    '{field2} <= %1%'
// )

$condition = '{field} = 5 AND ({field2} <= %1% OR {field2} >= %2%)';
$tokens = $tokenizer->tokenize($condition);
// array(
//    '{field} = 5', 
//    'AND', 
//    array(
//        '{field2} <= %1%'), 
//        'OR', 
//        '{field2} >= %2%'),
//    )
// )

实现

更多示例,你可以查看以下库的实现

安装

你可以使用Composer来安装此库。

composer require ride/lib-tokenizer