• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP: Klasse einbinden und dann wieder entfernen

Bieber

New member
Hi,

ich habe leider zwei externe Klassen mit gleichen Namen die in einem Skript laufen sollen. Die eine Klasse brauche ich eigentlich nur kurz für einen Aufruf, danach könnte Sie wieder weg... Nur leider habe ich keine Ahnung wie ich das machen kann.

z.B.
PHP:
<?php

require_once('datei1.php');
$class1 = new sameName();
$class1->doSomething();

// unrequire('datei1.php') || deleteClass(sameName);

require_once('datei2.php');
$class2 = new sameName();
$class2->doSomething();

?>

Mit unset() kann ich ja leider nur ein Objekt einer Klasse entfernen, aber eine Klasse selbst?
 
leider nicht, weil es 2 ziemlich große Bibliotheken sind :-(, sprich da hängen dann intern wieder 100Abhängigkeiten dran
 
namespaces klingt gut, da bin ich ja echt froh dass ich vor kurzem mein Debian auf Version 6 hochgezogen habe^^
aus der Bibliothek extrahieren klappt leider nicht, die Namespacevariante sollte funktionieren... muss mich da aber erstmal einlesen

vielen Dank für die Vorschläge
 
Kleines Beispiel für multiple Namespace in einer Datei:
PHP:
<?php
//muß als 1.Anweisung stehen
namespace tmp {
  class c1 {
    public function test() {
      echo "Nr1. namespace:".__NAMESPACE__."<br>";
    }
  }
}

//Globaler Namespace
namespace {
  class c1 {
    public function test() {
      echo "Nr2. namespace:".__NAMESPACE__."<br>";
    }
  }

  //erste class aus tmp benutzen
  $c = new tmp{Backslash}c1();
  $c -> test();

  //zweite class benutzen
  $c = new c1();
  $c -> test();
}
?>

tmp{Backslash}c1() -> tmp\c1()


Ausgabe:
Nr1. namespace:tmp
Nr2. namespace:
 
Zuletzt bearbeitet:
Zurück
Oben