- Access to public properties and array is allowed - Methods have to be whitelisted
Наследование: extends Context
 /**
  * @test
  */
 public function chainedCallsArePossibleWithExplicitContextWrapping()
 {
     $context = new ProtectedContext(['q' => function ($value) {
         $context = new ProtectedContext(['count' => function () use($value) {
             return count($value);
         }]);
         $context->whitelist('*');
         return $context;
     }, 'value' => ['Foo', 'Bar']]);
     $context->whitelist('q');
     $evaluator = new CompilingEvaluator();
     $result = $evaluator->evaluate('q(value).count()', $context);
     $this->assertEquals(2, $result);
 }