Ankündigung

Einklappen
Keine Ankündigung bisher.

Smarty + Oop Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smarty + Oop Problem

    Hi.

    Habe folgenden Code:

    main.php
    PHP-Code:
    require_once 'library/smarty.php';

    class 
    main {

        public function 
    __construct() {
                
    $this->test();
        }

            function 
    test() {
                
    $content $smarty->fetch($template.$_GET['site'].'.tpl');
                
    $smarty->assign('content',$content);
                
    $smarty->display($template.'main.tpl');
            }

    smarty.php
    PHP-Code:
    require_once 'smarty/Smarty.class.php';

    /**
    * Smarty einbinden
    */
    require_once('library/smarty/Smarty.class.php');
    $smarty = new Smarty();
    $smarty->template_dir    'template/';
    $smarty->compile_dir    'library/smarty/templates_c/';
    $smarty->config_dir        'language/';
    $smarty->assign('gfx','template/gfx'); 
    Alles klappt wunderbar, nur wenn ich nun bei main.php in der function "test" smarty aufrufen will geht dies nicht. Erst nachdem ich ein global $smarty; in die Funktion gesetzt habe funktioniert der Code dann und Smarty lädt das template. Nun möchte ich aber vermeiden, dass ich bei jeder Funktion die ich habe immer 3 mal global machen muss (Smarty, DB, Functions) und wollt hier einmal nachfragen, wie ich dieses Problem umgehen kann.

    Bin noch ein richtiger Anfänger in Sachen Oop, würde mich also über themabasierte Beispiele freuen.

  • #2
    Du kannst dem Konstruktor von main das smarty Objekt übergeben und es dort im Objekt hinterlegen.

    Kommentar


    • #3
      Hmm und wie mach ich das genau ?
      Kannst mir vielleicht das grad mal schreiben ?

      Kommentar


      • #4
        Na einfach als Parameter übergeben und zuweisen. Und dann in den Methoden verwenden.

        Im Zweifelsfall nocheinmal http://de2.php.net/oop bzw http://de.php.net/oop5 durcharbeiten.

        Kommentar


        • #5
          Hätte ich dadrin meine Antwort gefunden hätte ich den Thread hier nicht aufgemacht :wink: ...

          Kommentar


          • #6
            Ok. Was ist der Konstruktor, was ist eine Methode? Was sind Parameter? Wem übergibt man Parameter wie?

            Ich habe einfach Zweifel, dass Du http://de2.php.net/oop oder http://de.php.net/oop5 in der kurzen Zeit zu diesem Problem durchgearbeitet hast - jedenfalls wenn Du mit "hab nichts gefunden" zurückkommst.

            Kommentar

            Lädt...
            X