Edit report at http://bugs.php.net/bug.php?id=11596&edit=1

 ID:                 11596
 Updated by:         [email protected]
 Reported by:        hewei at mail dot ied dot ac dot cn
 Summary:            More ways of passing by refrence
-Status:             Open
+Status:             Closed
 Type:               Feature/Change Request
-Package:            Feature/Change Request
+Package:            *General Issues
 Operating System:   any
 PHP Version:        4.0.5
-Assigned To:        
+Assigned To:        jani
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2001-06-20 21:36:19] hewei at mail dot ied dot ac dot cn

As of 4.04, two new ways of reference passing is added:

func(new class()) and func(func2()) while func2 is defined as
&func2(){...}. They are VERY good for OOP.



But if the following two syntaxes are also supported, it will be really
good.



1.  func(&new class());

2.  $obj =& func_get_arg($i);



The first one will make this possible:



$row =& $table->add(&new TableRow("valign=top"));

$cell =& $row->add(&new TableData("width=50%"));



while add is defined as &add($obj) {...;return $obj;}



And the second will make this possible:



$cell -> add(&$text1, &$text2, &$text3, ...);

while add function is going to use variable number of arguments.



But I didn't count on the following syntax being supported too:



foreach ($arr as &$value) {...} ( since there is a walk-arround: $value
=& $arr[$i] )



$cell =& $table->add(&new TableRow())->add(&new TableData())

{ since I may request to much :))



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=11596&edit=1

Reply via email to