rfc:functional-elements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:functional-elements [2008/03/06 02:07] – Adding abstractions lstrojnyrfc:functional-elements [2008/03/06 02:15] – Adding another use case lstrojny
Line 7: Line 7:
 <code php> <code php>
 foreach ($list as $element) { foreach ($list as $element) {
-    $element->method();+    $element->method();    array $params = array(), 
 +    array $condition_params = array(), 
 +    bool $collect = true, 
 +    bool $finite = true
 } }
 </code> </code>
Line 39: Line 42:
  
 ==== Extracted functions ==== ==== Extracted functions ====
-=== spl_object_list_call() ===+=== spl_iterator_element_call() ===
 <code php> <code php>
 array|bool spl_iterator_element_call( array|bool spl_iterator_element_call(
Line 49: Line 52:
 </code> </code>
  
 +Iterating over a list of objects, call method "testMethod" and get the list of results:
 +<code php>
 +$result = spl_iterator_element_call($list, 'testMethod');
 +</code>
 +
 +Iterating over a list of objects, call methods "testMethod" (with param "test") and "otherTestMethod" (with param "other") and get the list of results:
 +<code php>
 +$result = spl_iterator_element_call($list, array('testMethod', 'otherTestMethod'), array('test', 'other'));
 +</code>
 +
 +Iterating over a list of objects, call method 'testMethod' (with param "test1" and "test2") and "otherTestMethod" (with param "other1" and "other2") and get the list of results:
 +<code php>
 +$result = spl_iterator_element_call($list, array('testMethod', 'otherTestMethod'), array(array('test1', 'test2'), array('other1', 'other2')));
 +</code>
 +
 +=== spl_iterator_element_call_conditional() ===
 <code php> <code php>
 array|mixed spl_iterator_element_call_conditional( array|mixed spl_iterator_element_call_conditional(
rfc/functional-elements.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1