需要PHP规则教程

时间:2011-12-21 19:39:47

标签: php rule-engine

任何人都可以为PHP规则教程提供一个很好的链接吗?

我目前只能找到一个:

但是这个链接并没有真正提到如何在我们的应用程序中使用它。而且,他们用来解释的例子没有这样的输出..

2 个答案:

答案 0 :(得分:4)

以下是一些链接:

似乎没有很多关于php-rules的教程,但它在使用方面也应该相当简单。如果您对代码示例有特定的问题,您可能会得到更好的答案,并能够推进事情。

此外,我建议您与作者Greg Swindle联系,因为他可能会为您提供其他教程。

答案 1 :(得分:1)

我已经花了几个小时进入规则引擎,最后得到了关键......我根本不清楚这个方向,所以我想这可能有助于某人辩论是否有使用php规则。

为了简单且更有控制地使用,可以从codeigniter中获取PHP规则

第1步:从The PHP Rules Download Page

下载软件包

步骤2:提取存档,并将文件夹php-rules-sample / system / application / libraries / Phprules复制到php服务器上的某个位置。

步骤3:通过在每个文件的顶部注释掉defined或die语句,对Phpules文件夹中的所有文件进行解码,然后在Rule.php中注释掉其中包含大写CI的3行。

所有文件:
1:<?php//if ( ! defined('BASEPATH')) exit('No direct script access allowed');

Rule.php:

//  private $CI;
    public function Rule( $name='' ) {
        //$this->CI =& get_instance();
        $this->name = $name;
        $this->elements = array();
    }

    public function __construct( $name='' ) {
        //$this->CI =& get_instance();
        $this->name = $name;
        $this->elements = array();
    }

完成所有操作后,以下test.php将至少测试一条规则并给你反馈。 (来自网站上的演示):

<?php
include("/Phprules/Rule.php");

// Create the rule
$rule = new Rule('eligibleForGroupDiscount');

// Declare the minimun number of people required for discount
$rule->addVariable('minNumPeople', 6);

// Declare a "placeholder" variable for the actual number of people
$rule->addVariable('actualNumPeople', 0);

// Compare the two, i.e., 
// minNumPeople >= actualNumPeople
$rule->addOperator('GREATERTHANOREQUALTO');

// Create a RuleContext, i.e., a "Fact"
$ruleContext = new RuleContext('eligibleForGroupDiscountFact');

// Declare the minimun number of people required for discount
$ruleContext->addVariable('minNumPeople', 6);

// How many people are there?
$ruleContext->addVariable('actualNumPeople', 7);

// Evaluate
$result = $rule->evaluate($ruleContext);

// Print the resulting Proposition
echo $result->toString();

?>

这至少可以让你到一个可以开始评估规则的地方。您可以更改actualNumPeople以查看true和false切换。