Mailinglisten-Archive |
Zur kleinen Entspannung vor den Feiertagen habe ich hier das TollCollect Prinzip noch einmal schnell in PHP formuliert! Gruss, Andreas www.andreas-demmer.de | www.mediadb.net <?php class tollCollect { /** * @var int * @desc verfügb. Betrag in EUR für Onboard Units */ var $finanzielleMittelOnboardUnits = 0; /** * @var int * @desc verfügb. Betrag in EUR für Stationary Units */ var $finanzielleMittelStationaryUnits = 0; /** * @var int * @desc Anzahl Onboard Units */ var $OnboardUnits = 0; /** * @var int * @desc Stationary Units */ var $StationaryUnits = 0; /** * @var int * @desc Zeitpunkt der Fertigstellung als UNIX Timestamp */ var $deadline = 0; /** * @access public * @return void * @param geldVomStaat int * @param deadline int * @desc Konstruktor, nimmt Auftrag entgegen und beginnt die Umsetzung */ function tollCollect($geldVomStaat, $deadline) { $this->finanzielleMittelOnboardUnits = $geldVomStaat / 2; $this->finanzielleMittelStationaryUnits = $geldVomStaat / 2; // 90 Tage Überziehung fest einplanen $this->deadline = $deadline + 60*60*24*90; $this->assembleOnboardUnits(); $this->assembleStationaryUnits(); } /** * @access private * @return BOOL * @desc fertigt die Onboard-Units */ function assembleOnboardUnits() { while($this->finanzielleMittelOnboardUnits > 0) { $this->finanzielleMittelOnboardUnits--; $this->OnboardUnits++; } } /** * @access private * @return BOOL * @desc fertigt die Stationary-Units */ function assembleStationaryUnits() { while($this->finanzielleMittelStationaryUnits > 0) { $this->finanzielleMittelStationaryUnits--; $this->StationaryUnits++; } } /** * @access public * @return BOOL * @desc hmmm, irgendwie klappt das nicht */ function testSystem() { return FALSE; } /** * @access public * @return BOOL * @desc liefert ein verbindliches Datum der Fertigstellung */ function estimateNewCompletionDate() { return time() + 60*60*24*90; } /** * @access public * @param fee int * @return BOOL * @desc verweigert die Zahlung einer Konventionalstrafe */ function payPunishmentFee($sum) { return 0; } } $staatskasse = 600000000*12; $tollCollect = new tollCollect($staatskasse, mktime(0,0,0,12,14,2003)); $staatskasse = 0; while(!$test = $tollCollect->testSystem) { $i++; if($i > 100) die('Vertragsbruch!'); echo 'Fertigstellung am ', date('d.m.Y', $tollCollect->estimateNewCompletionDate()), "<br>\n"; $staatskasse += $tollCollect->payPunishmentFee(1.3*1000000000); echo 'Staatskasse in EUR: ', $staatskasse; flush(); } ?>
php::bar PHP Wiki - Listenarchive