[OOP] Klassenproblem

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

  • RobertTheHero
    antwortet
    Initialisierung ist unnötig !!!! Das macht pHP selbst


    Allerdings ist das Objekt $smarty nur im Kontext der Funktion / Methode dent bekannt.

    Entweder du änderst die ganze Klasse um auf $this->smarty, oder du setzt global $smarty überall wo du es benutzt.


    gruss

    rth

    Einen Kommentar schreiben:


  • BielWeb
    antwortet
    Hi,

    Du musst vor dem $dent->writeTop(); die Funktion dent() aufrufen
    also z.B.

    $dent->dent();
    $dent->writeTop();

    armin

    Einen Kommentar schreiben:


  • MoRtAlAn
    antwortet
    laut fehlermeldung versuchst du etwas als object anzusprechen, was kein objekt ist...
    liest du dir schmalles beitrag durch, könntest du den Fehler evtl. finden

    initialisieren der funktion wäre auch net (dent->dent()).
    Zuletzt geändert von MoRtAlAn; 01.08.2003, 11:27.

    Einen Kommentar schreiben:


  • schmalle
    antwortet
    $SERVERRROT <-- hast du nen roten server, oder was wird das?

    Einen Kommentar schreiben:


  • compuboy1010
    hat ein Thema erstellt [OOP] Klassenproblem.

    [OOP] Klassenproblem

    Hi,

    also ich habe bisher folgende Klasse:

    [php]
    <?php
    class Dent{

    function Dent()
    {
    global $SERVERROOT;
    global $CLASSESROOT;

    global $dbHost;
    global $dbUser;
    global $dbPassword;
    global $dbName;

    require_once($CLASSESROOT."control/db/mysql4db.class.php");
    require_once($CLASSESROOT."design/libs/Smarty.class.php");

    $smarty = new Smarty; // Create template Object
    $db = new Mysql4db($create = "", $this->dbHost, $this->dbUser, $this->dbPassword, $this->dbName); // database object

    //$this->dbUser = $dbUser;


    $smarty->template_dir = $SERVERROOT.'smarty/templates/';
    $smarty->compile_dir = $SERVERROOT.'smarty/templates_c/';
    $smarty->config_dir = $SERVERRROT.'smarty/configs/';
    $smarty->cache_dir = $SERVERRROT.'smarty/cache/';
    }

    function writeHeader()
    {
    $smarty->assign();
    $smarty->display('header.tpl');
    }

    function writeTop()
    {
    $smarty->assign('aktuelles','Hier jibt et aktuelles');
    $smarty->display('top.tpl');
    }
    }

    ?>
    [php]

    In einer anderen Datei steht:
    [php]<?php
    include("config.inc.php");

    require_once($CLASSESROOT."dent.class.php");
    $dent = new Dent;
    $dent->writeTop();

    ?>
    PHP-Code:

    Nun kommt folgende Fehlermeldung
    :
    Fatal errorCall to a member function on a non-object in d:\dentona_new\classes\dent.class.php on line 38


    WARUM NUR
    ?

    Danke

    [edit]PHP-Tags sponsored by mortalan 
    Zuletzt geändert von MoRtAlAn; 01.08.2003, 11:20.
Lädt...
X