assign($value); } /** * Takes a value so you can perform operations on it * @param mixed $value * @return AndObject */ function take($value) { $cc = new ChainCollectorStartNode('IntermediateObject'); return $cc->take($value); } /** * Retrieves a variable * @param string $name Name of the variable to retrieve * @return IntermediateObject */ function get($name) { $val = VarStore::get($name); $cc = new ChainCollectorStartNode('IntermediateObject'); return $cc->take($val); } /** * Refers to the current value * @return ItObject */ function it() { return ItObject::getInstance(); } /** * Used to refer to class member methods * @return ItsObject */ function its() { return ItsObject::getInstance(); } /** * Call a function or retrieve the previous call's result * @param string $fn (optional) If set, returns CallIntermediate * @return CallIntermediate|CallObject */ function call($fn=null) { if($fn) { $cc = new ChainCollectorStartNode('IntermediateObject'); return $cc->call($fn); } return CallObject::getInstance(); }