【发布时间】:2011-12-21 19:39:46
【问题描述】:
谁能提供一个 PHP-Rules 教程的好链接?
我目前只能找到一个:
但是这个链接并没有真正提到如何在我们的应用程序中使用它。而且,他们用来解释的例子并没有这样的输出..
【问题讨论】:
-
任何人都可以为 PHP-Rules 教程提供一个好的链接。他正在寻找额外的学习资源(这并非不合理,尽管这并不是真正的编程问题)。
标签: php rule-engine
谁能提供一个 PHP-Rules 教程的好链接?
我目前只能找到一个:
但是这个链接并没有真正提到如何在我们的应用程序中使用它。而且,他们用来解释的例子并没有这样的输出..
【问题讨论】:
标签: php rule-engine
这里有一些链接:
似乎没有很多关于 php-rules 的教程,但在使用方面也应该相当简单。如果您对代码示例有具体问题,您可能会得到更好的答案并能够推动事情向前发展。
另外,我建议您联系作者Greg Swindle,因为他可能会为您提供更多教程。
【讨论】:
我已经在规则引擎上投入了几个多小时,终于让症结起作用了……根据那里的指示,我根本不清楚,所以我认为这可能有助于有人辩论是否使用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 以观看真假切换。
【讨论】: