@@ -24,13 +24,11 @@ $rule = $rb->create(
2424 }
2525);
2626
27- $context = new Context(array(
27+ $context = new Context([
2828 'minNumPeople' => 5,
2929 'maxNumPeople' => 25,
30- 'actualNumPeople' => function() {
31- return 6;
32- },
33- ));
30+ 'actualNumPeople' => fn() => 6,
31+ ]);
3432
3533$rule->execute($context); // "Yay!"
3634```
@@ -43,22 +41,20 @@ $rule->execute($context); // "Yay!"
4341``` php
4442$actualNumPeople = new Variable('actualNumPeople');
4543$rule = new Rule(
46- new Operator\LogicalAnd(array(
44+ new Operator\LogicalAnd([
4745 new Operator\LessThanOrEqualTo(new Variable('minNumPeople'), $actualNumPeople),
4846 new Operator\GreaterThanOrEqualTo(new Variable('maxNumPeople'), $actualNumPeople)
49- ) ),
47+ ] ),
5048 function() {
5149 echo 'YAY!';
5250 }
5351);
5452
55- $context = new Context(array(
53+ $context = new Context([
5654 'minNumPeople' => 5,
5755 'maxNumPeople' => 25,
58- 'actualNumPeople' => function() {
59- return 6;
60- },
61- ));
56+ 'actualNumPeople' => fn() => 6,
57+ ]);
6258
6359$rule->execute($context); // "Yay!"
6460```
@@ -166,10 +162,10 @@ $eitherOne = $rb->create($rb->logicalOr($aEqualsB, $aDoesNotEqualB));
166162
167163// Just to mix things up, we'll populate our evaluation context with completely
168164// random values...
169- $context = new Context(array(
165+ $context = new Context([
170166 'a' => rand(),
171167 'b' => rand(),
172- ) );
168+ ] );
173169
174170// Hint: this is always true!
175171$eitherOne->evaluate($context);
@@ -191,11 +187,9 @@ $rb->logicalXor($aEqualsB, $aDoesNotEqualB); // True if only one condition is tr
191187` evaluate() ` a Rule with Context to figure out whether it is true.
192188
193189``` php
194- $context = new Context(array(
195- 'userName' => function() {
196- return isset($_SESSION['userName']) ? $_SESSION['userName'] : null;
197- }
198- ));
190+ $context = new Context([
191+ 'userName' => fn() => $_SESSION['userName'] ?? null,
192+ ]);
199193
200194$userIsLoggedIn = $rb->create($rb['userName']->notEqualTo(null));
201195
@@ -239,7 +233,7 @@ $hiEveryoneElse = $rb->create(
239233 }
240234);
241235
242- $rules = new RuleSet(array( $hiJustin, $hiJon, $hiEveryoneElse) );
236+ $rules = new RuleSet([ $hiJustin, $hiJon, $hiEveryoneElse] );
243237
244238// Let's add one more Rule, so non-authenticated users have a chance to log in
245239$redirectForAuthentication = $rb->create($rb->logicalNot($userIsLoggedIn), function() {
@@ -272,12 +266,10 @@ Rules.
272266$context = new Context;
273267
274268// Some static values...
275- $context['reallyAnnoyingUsers'] = array( 'bobthecow', 'jwage') ;
269+ $context['reallyAnnoyingUsers'] = [ 'bobthecow', 'jwage'] ;
276270
277271// You'll remember this one from before
278- $context['userName'] = function() {
279- return isset($_SESSION['userName']) ? $_SESSION['userName'] : null;
280- };
272+ $context['userName'] = fn() => $_SESSION['userName'] ?? null;
281273
282274// Let's pretend you have an EntityManager named `$em`...
283275$context['user'] = function() use ($em, $context) {
@@ -334,7 +326,7 @@ $context['userRoles'] = function() use ($em, $context) {
334326 return $user->roles();
335327 } else {
336328 // return a default "anonymous" role if there is no current user
337- return array( 'anonymous') ;
329+ return [ 'anonymous'] ;
338330 }
339331};
340332
@@ -366,7 +358,7 @@ their convenient RuleBuilder interface:
366358// We can skip over the Context Variable building above. We'll simply set our,
367359// default roles on the VariableProperty itself, then go right to writing rules:
368360
369- $rb['user']['roles'] = array( 'anonymous') ;
361+ $rb['user']['roles'] = [ 'anonymous'] ;
370362
371363$rb->create(
372364 $rb->logicalAnd(
0 commit comments