Smarty und realpath() ...

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

  • Smarty und realpath() ...

    Hi!

    Möchte in der Smarty.class.php vor die Ordner einen realpath(); setzen - funktioniert aber nicht.

    vorher:
    PHP-Code:
        var  $template_dir    =  'templates'
    nachher:
    PHP-Code:
        var  $template_dir    =  realpath("./").'templates'
    Benutze Eclipse mit PHP Plugin... da wirds als Fehler angezeigt. Weis nur nicht was daran falsch sein soll.

    Hier die Smarty.class.php:
    http://nopaste.php-q.net/301907

    Dank und Gruß
    carapau
    Lasst euch nicht lumpen, hoch den Humpen!

  • #2
    Und die Fehlermeldung verheimlichst du natürlich lieber... Willst auch gar keine Hilfe oder wie???

    Mich würde eher das var stören.

    außerdem könntest du gleich
    PHP-Code:
    realpath('./templates'); 
    schreiben.

    Existiert der Pfad?

    Kommentar


    • #3
      Und die Fehlermeldung verheimlichst du natürlich lieber... Willst auch gar keine Hilfe oder wie???
      Da..
      PHP-Code:
      var  $template_dir    =  realpath('./templates'); 
      Fehler: "Parser Error: ; expected after field decleration."

      PHP-Code:
      $template_dir    =  realpath('./templates'); 
      Fehler: "Parser Error: public, private or protected modifier expected for field declerations."

      Existiert der Pfad?
      Ja.


      Mich würde eher das var stören.
      Benutz "var" nie. Das ist halt vorgegeben. Nehm ichs weg, gehts auch nciht.
      Lasst euch nicht lumpen, hoch den Humpen!

      Kommentar


      • #4
        dann brauche ich (ein bisschen) mehr code.

        du bist vermutlich direkt hinter class xy() { ?

        http://de3.php.net/manual/de/languag...#keyword.class

        lesen und verstehen.

        Kommentar


        • #5
          Hatte ich doch schon im ersten Post mit geschickt:

          Hier die Smarty.class.php:
          http://nopaste.php-q.net/301907
          Die erste Zeile der Class.. sollte ca Zeile 80 sein.

          Danke
          Lasst euch nicht lumpen, hoch den Humpen!

          Kommentar


          • #6
            OffTopic:
            Als wenn hier jemand lust hätte sich ne komplette smarty-klasse anzusehen.


            Wie gesagt: Lesen und verstehen. Da steht alles drin, was du wissen musst. DU bist es, der hier Initiative zeigen muss, nicht ich.

            Kommentar


            • #7
              Hast schon Recht, aber irgendwie plan ichs nicht. Versuch den Fehler schon so gut wie möglich zu beschreiben.

              Das darf doch nicht so schwer sein, da in Zeile 78 ein realpath() davor zu setzen?! (
              http://nopaste.php-q.net/301907
              Lasst euch nicht lumpen, hoch den Humpen!

              Kommentar


              • #8
                Würdest du jetzt bitte die Seite aus dem Manual lesen? DAS darf doch nicht so schwer sein.

                Kommentar


                • #9
                  $smarty = new Smarty();
                  $smarty->template_dir = realpath("/templates");

                  ...

                  hätts nur gerne einfacher gemacht
                  Lasst euch nicht lumpen, hoch den Humpen!

                  Kommentar


                  • #10
                    hätts nur gerne einfacher gemacht
                    Dann mach das doch... Im Konstruktor.

                    Offensichtlich immer noch nicht gelesen?

                    Anmerkung: In PHP 4 sind nur konstante Initialisierungen für var Variablen erlaubt. Um Variablen mit nicht konstanten Werten zu initialisieren, benötigen Sie eine Funktion zur Initialisierung, welche beim Erstellen eines Objektes automatisch von der Klasse aufgerufen wird. Eine solche Funktion wird Konstruktor genannt (siehe unten).
                    BTW: gilt es als unsauber die Variablen-Werte direkt von außerhalb der Klasse zu verändern.
                    eine Funktion setTemplateDir() wäre hier gefragt.

                    Kommentar


                    • #11
                      o.O Kein wunder das es nicht geht
                      PHP-Code:
                      //Erlaubt sind nur konstante Werte in Eigenschaften einer Klasse

                      //Richtig
                      var $class 'blub';

                      //Falsch
                      var $class blubbla(); 
                      Daher gehts nicht da Realpath das ergebnis einer Function wiedergibt
                      was wiederum in Eigenschaften nicht erlaubt ist

                      Bastel dir nee Methode in der du $template_dir mit dem Ergebnis von Realpath bestückst und dann baust du den Methodenaufruf in den Constructor ein dann klappts auch wieder mit den Nachbarn

                      Kommentar

                      Lädt...
                      X