<?php namespace eMacros\Runtime\Logical;
use eMacros\Applicable; use eMacros\Scope; use eMacros\GenericList;
class LogicalIf implements Applicable { /** * If control structure implementation * Usage: (if (== (%#) 0) "No parameters found" (. (%#) " parameters found")) * Returns: mixed * (non-PHPdoc) * @see \eMacros\Applicable::apply() */ public function apply(Scope $scope, GenericList $args) { if (count($args) == 0) { throw new \BadFunctionCallException("If: No parameters found."); } $index = $args[0]->evaluate($scope) ? 1 : 2; return isset($args[$index]) ? $args[$index]->evaluate($scope) : null; } }
|