Mailinglisten-Archive |
Am Donnerstag, 29. Juni 2006 14:57 schrieb Norbert Pfeiffer: > Hallo, > > ein Cronjob ruft alle Minute ein PHP-Script auf. > In dem Script sollen dann, abhaengig von der Zeit verschiedene > andere Script durch ein einfaches include('irgendwas.php'); > ausgefuehrt werden. > Leider hat diese Methode eine kleine Tuecke, wenn z.B. mehrere > Scripte die gleichen Variablenamen verwenden oder gleiche Klassen > includieren usw. usf. > > Am einfachsten waere es IMHO, wenn man ein Script, nach seiner > Ausfuehrung komplett entsorgen koennte, so als ob es niemals > dagewesen waere. Habe dazu jedoch keine Eingebung ... :-( > > Was auch geht waere ein neuer Prozess via nohup ... > > Was gaebe es noch fuer Moeglichkeiten ... Bevor Du eine Klasse deklarierst, prüfe, ob diese bereits existiert: if(class_exists('FOO') === FALSE) { class FOO { function FOO() { echo 'Hallo Bar, ich bin Foo'; } } Auf diese Weise wird die Klasse auch dann nicht neu deklariert, wenn die Datei aufgrund irgendwelcher Umstände mehrfach eingebunden wird. Was die Variablen betrifft, könntest Du prüfen, ob Du damit auskommst am Beginn jeder Datei, alle darin verwendeten Variablen mit unset($foo); zu löschen. Ansonsten verwende Variablen mit einem Präfix der für einen spezifischen Namensraum eindeutig ist. Viele Grüße Thorsten
php::bar PHP Wiki - Listenarchive