note 29986 added to ref.objaggregation

From: Date: Mon, 03 Mar 2003 12:23:29 +0000
Subject: note 29986 added to ref.objaggregation
Groups: php.notes 
Request: Send a blank email to php-notes+get-44772@lists.php.net to get a copy of this message
bugfree object association example : <?php /** * corrected example of object association http://www.php.net/manual/en/ref.objaggregation.php * two errors : * 1 parse omitted semi-colon in function DateTimePlus * 2 $dateTime = $_dt->now(); in generateReport ($_dt is nothing !) **/ class DateTime { function DateTime() { // empty constructor } function now() { return date("Y-m-d H:i:s"); } } class DateTimePlus { var $_format; function DateTimePlus($format="Y-m-d H:i:s") { //corrected omitted semi-colon $this->_format = $format ; } function now() { return date($this->_format); } } class Report { var $_dt; // we'll keep the reference to DateTime here // more properties ... function Report() { // do some initialization } function setDateTime(&$dt) { $this->_dt =& $dt; } function generateReport() { //$dateTime = $_dt->now(); //corrected = $dateTime = $this->_dt->now(); // more code ... return $dateTime; } // more methods ... } $rep = new Report(); $dt = new DateTime(); $dtp = new DateTimePlus("l, F j, Y (h:i:s a, T)"); // generate report with simple date for web display $rep->setDateTime($dt); echo '<pre>'; var_dump($rep); echo '</pre>'; echo $rep->generateReport(); // later on in the code ... // generate report with fancy date $rep->setDateTime($dtp); echo '<pre>'; var_dump($rep); echo '</pre>'; $output = $rep->generateReport(); echo $output; // save $output in database // ... etc ... ?> -- http://www.php.net/manual/en/ref.objaggregation.php http://master.php.net/manage/user-notes.php?action=edit+29986 http://master.php.net/manage/user-notes.php?action=delete+29986 http://master.php.net/manage/user-notes.php?action=reject+29986

« previous php.notes (#44772) next »