tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
416
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ne0hype ne0hype ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    274
    Hallo,

    der Titel sag es schon
    Aber hier nochmal ein Beispiel:

    Es wird die Smarty Klasse instanziert und da ich noch andere Klassen habe wollte ich in der Klasse Test auf die Smarty Klasse zugreifen,

    Zur veranschaulichung:
    PHP-Code:
    <?php

    require '../libs/Smarty.class.php';

    $smarty = new Smarty;

    class 
    test
    {
        public function 
    __construct(){
            
    $smarty->assign("Name","Fred Irving Johnathan Bradley Peppergill");
        }
    }

    $bla = new test();

    $smarty->display('index.tpl');
    ?>
    Naja wie ihr euch denken könnt geht das nicht. Wie ist der richtige Weg? Die Klasse von Smarty ableiten? Bei 20 Klassen die auch wiederum von einander erben, ne schwierige Sache.

    Danke für eure Hilfe
     

  2. #2
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Schau mal nach Singleton Pattern oder Registry...
    In deinem Fall würde ich Registry empfehlen...

    Hier ein link zur Registry: http://www.phpbar.de/w/Registry
    Und hier zu Singleton: http://www.phpbar.de/w/Singleton
    Im Falle von Singleton müßtest du Änderungen an Smarty vornehmen, daher nicht zu empfehlen.
     

  3. #3
    ne0hype ne0hype ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    274
    Hi,

    ich kann bei diesem Registry aber nur auf "Globale" Variablen zugreifen. Wie sieht es aus wenn ich wie im Beispiel auf eine Methode der Klasse Smarty zugreifen will?

    Gruß
     

  4. #4
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Schau dir das mal richtig an, du kannst auf alle Funktionen zugreifen, du legst doch in der Klasse Registry das Objekt ab, greifst auf das Objekt zu und führst mit dem Objekt die Funktionen aus.

    PHP-Code:
    <?php
    require '../libs/Smarty.class.php';
    $smarty = new Smarty;
    Registry::set('smarty'$smarty);
    class 
    test
    {
        public function 
    __construct(){
            
    $smarty Registry::get('smarty');
            
    $smarty->assign("Name","Fred Irving Johnathan Bradley Peppergill");
        }
    }
    $bla = new test();
    $smarty->display('index.tpl');
    ?>
    ODER

    PHP-Code:
    <?php
    require '../libs/Smarty.class.php';
    $smarty = new Smarty;
    class 
    test
    {
        public function 
    __construct($smarty){
            
    $smarty->assign("Name","Fred Irving Johnathan Bradley Peppergill");
        }
    }
    $bla = new test($smarty);
    $smarty->display('index.tpl');
    ?>
    Via Registry mußt du aber nicht ständig das Objekt übergeben du hast einen Zentralen Ablagepunkt.
     

  5. #5
    ne0hype ne0hype ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    274
    super Sache... vielen Dank
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 24.05.10, 14:19
  2. Antworten: 0
    Letzter Beitrag: 11.04.10, 18:24
  3. Label aus anderer Klasse aktualisieren.
    Von danielmueller1985 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 7
    Letzter Beitrag: 30.04.09, 09:00
  4. JRadioButton aus anderer Klasse
    Von d_d_ im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 04.07.07, 11:28
  5. [C#] Textbox aus anderer Klasse füllen
    Von thelonegunman im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 12.09.04, 22:00