【问题标题】:PHP-Rules Tutorial needed [closed]需要 PHP 规则教程 [关闭]
【发布时间】:2011-12-21 19:39:46
【问题描述】:

谁能提供一个 PHP-Rules 教程的好链接?

我目前只能找到一个:

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

【问题讨论】:

  • 任何人都可以为 PHP-Rules 教程提供一个好的链接。他正在寻找额外的学习资源(这并非不合理,尽管这并不是真正的编程问题)。

标签: php rule-engine


【解决方案1】:

这里有一些链接:

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

另外,我建议您联系作者Greg Swindle,因为他可能会为您提供更多教程。

【讨论】:

  • github 端口太棒了!它与原版有点不同,所以官方文档不会 100% 准确,但它就像一个魅力。感谢您的回答。这对我帮助很大!
【解决方案2】:

我已经在规则引擎上投入了几个多小时,终于让症结起作用了……根据那里的指示,我根本不清楚,所以我认为这可能有助于有人辩论是否使用php规则。

从 codeigniter 中获取 PHP 规则以实现简单且更可控的使用

第一步:从The PHP Rules Download Page下载包

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

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

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

规则.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 以观看真假切换。

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多