Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

note 29986 added to ref.objaggregation

0 views
Skip to first unread message

gal...@appli-box.com

unread,
Mar 3, 2003, 7:23:29 AM3/3/03
to php-...@lists.php.net
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

di...@php.net

unread,
Jul 3, 2003, 6:02:21 AM7/3/03
to php-...@lists.php.net
Note Submitter: gal...@appli-box.com

----

0 new messages