本文整理汇总了PHP中Parser::get_parse_chain方法的典型用法代码示例。如果您正苦于以下问题:PHP Parser::get_parse_chain方法的具体用法?PHP Parser::get_parse_chain怎么用?PHP Parser::get_parse_chain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parser
的用法示例。
在下文中一共展示了Parser::get_parse_chain方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testParsers
function testParsers()
{
/* inputs and expected outputs */
$input_output = array('WillNotMatchAnythingEver' => array());
$chain = Parser::get_parse_chain();
foreach ($input_output as $input => $output) {
$actual = $output;
foreach ($chain as $class) {
$obj = new $class();
$chk = $obj->check($input);
$this->assertInternalType('boolean', $chk);
if ($chk) {
$actual = $obj->parse($input);
break;
}
}
$this->assertEquals($output, $actual);
}
}
示例2: get_preparse_chain
/**
Gather preparse modules
@return array of Parser class names
Scan the preparse directory for module files.
Return an array of available modules.
*/
public static function get_preparse_chain()
{
return Parser::get_parse_chain('PreParser');
}
示例3: preprocess
function preprocess()
{
$this->display = "";
$sd = MiscLib::scaleObject();
$entered = "";
if (isset($_REQUEST["reginput"])) {
$entered = strtoupper(trim($_REQUEST["reginput"]));
}
if (substr($entered, -2) == "CL") {
$entered = "CL";
}
if ($entered == "RI") {
$entered = CoreLocal::get("strEntered");
}
if (CoreLocal::get("msgrepeat") == 1 && $entered != "CL") {
$entered = CoreLocal::get("strRemembered");
CoreLocal::set('strRemembered', '');
}
CoreLocal::set("strEntered", $entered);
$json = array();
if ($entered != "") {
if (in_array("Paycards", CoreLocal::get("PluginList"))) {
/* this breaks the model a bit, but I'm putting
* putting the CC parser first manually to minimize
* code that potentially handles the PAN */
if (CoreLocal::get("PaycardsCashierFacing") == "1" && substr($entered, 0, 9) == "PANCACHE:") {
/* cashier-facing device behavior; run card immediately */
$entered = substr($entered, 9);
CoreLocal::set("CachePanEncBlock", $entered);
}
$pe = new paycardEntered();
if ($pe->check($entered)) {
$valid = $pe->parse($entered);
$entered = "PAYCARD";
CoreLocal::set("strEntered", "");
$json = $valid;
}
CoreLocal::set("quantity", 0);
CoreLocal::set("multiple", 0);
}
/* FIRST PARSE CHAIN:
* Objects belong in the first parse chain if they
* modify the entered string, but do not process it
* This chain should be used for checking prefixes/suffixes
* to set up appropriate session variables.
*/
$parser_lib_path = $this->page_url . "parser-class-lib/";
if (!is_array(CoreLocal::get("preparse_chain"))) {
CoreLocal::set("preparse_chain", PreParser::get_preparse_chain());
}
foreach (CoreLocal::get("preparse_chain") as $cn) {
if (!class_exists($cn)) {
continue;
}
$p = new $cn();
if ($p->check($entered)) {
$entered = $p->parse($entered);
}
if (!$entered || $entered == "") {
break;
}
}
if ($entered != "" && $entered != "PAYCARD") {
/*
* SECOND PARSE CHAIN
* these parser objects should process any input
* completely. The return value of parse() determines
* whether to call lastpage() [list the items on screen]
*/
if (!is_array(CoreLocal::get("parse_chain"))) {
CoreLocal::set("parse_chain", Parser::get_parse_chain());
}
$result = False;
foreach (CoreLocal::get("parse_chain") as $cn) {
if (!class_exists($cn)) {
continue;
}
$p = new $cn();
if ($p->check($entered)) {
$result = $p->parse($entered);
break;
}
}
if ($result && is_array($result)) {
// postparse chain: modify result
if (!is_array(CoreLocal::get("postparse_chain"))) {
CoreLocal::set("postparse_chain", PostParser::getPostParseChain());
}
foreach (CoreLocal::get('postparse_chain') as $class) {
if (!class_exists($class)) {
continue;
}
$obj = new $class();
$result = $obj->parse($result);
}
$json = $result;
if (isset($result['udpmsg']) && $result['udpmsg'] !== False) {
if (is_object($sd)) {
$sd->WriteToScale($result['udpmsg']);
}
//.........这里部分代码省略.........
示例4: foreach
if ($p->check($entered)) {
$entered = $p->parse($entered);
}
if (!$entered || $entered == "") {
break;
}
}
if ($entered != "" && $entered != "PAYCARD") {
/*
* SECOND PARSE CHAIN
* these parser objects should process any input
* completely. The return value of parse() determines
* whether to call lastpage() [list the items on screen]
*/
if (!is_array(CoreLocal::get("parse_chain"))) {
CoreLocal::set("parse_chain", Parser::get_parse_chain());
}
$result = False;
foreach (CoreLocal::get("parse_chain") as $cn) {
if (!class_exists($cn)) {
continue;
}
$p = new $cn();
if ($p->check($entered)) {
$result = $p->parse($entered);
break;
}
}
if ($result && is_array($result)) {
// postparse chain: modify result
if (!is_array(CoreLocal::get("postparse_chain"))) {