php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.10.2004, 19:25  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard Klassenproblem

Ich erhalten in dieser Zeile:
PHP-Code:
$this->_db mysql_connect($hostname$username$pw) or die(mysql_error()); 
folgenden Fehler
Zitat:
Fatal error: Using $this when not in object context in C:\Apache2\projects\voki\config.php on line 28
suter ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.10.2004, 19:31  
Gast
 
Beiträge: n/a
Standard Re: Klassenproblem

Zitat:
Zitat von suter
Ich erhalten in dieser Zeile:
PHP-Code:
$this->_db mysql_connect($hostname$username$pw) or die(mysql_error()); 
folgenden Fehler
Zitat:
Fatal error: Using $this when not in object context in C:\Apache2\projects\voki\config.php on line 28
Was soll man dazu sagen: der Fehler wird genau beschrieben.
Mal im Online-Handbuch lesen, wies richtig gemacht wird.
 
Alt 28.10.2004, 19:33  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

öhm ich habe das aus einem Tutorial, einfach bisschen geändert. Dort wird $this auch so verwendet. Aus der Fehlermeldung werd ich nicht schlau, ich code nicht jeden Tag PHP Zeugs, deshalb wäre es noch nett, wenn du mir sagen kannst, was ich falsch gemacht habe.
Link zum Manual?

/edit
Ich sehe gerade in php5 hat sich einiges geändert. Kann es auch sein, dass sich was mit $this geändert hat?

Gibts jetzt wie bei C++, Public Privat Variablen?
Konstruktor muss man jetzt auch anders definieren, sind also alte Klassen unter PHP5 nicht mehr lauffähig?

Hier wirds auch gleich gemacht:
$this->name = "MyDestructableClass";
suter ist offline  
Alt 28.10.2004, 19:41  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von suter
öhm ich habe das aus einem Tutorial, einfach bisschen geändert. Dort wird $this auch so verwendet.
Aber nicht so, daß es zu og. Fehlermeldung kommt:
Using $this when not in object context ...

Zitat:
Link zum Manual?
http://php.net/

btw: es gibt dort auch ein Kapitel über PHP5.
 
Alt 28.10.2004, 19:50  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

Hab ich jetzt Mal angeschaut und ich kapiere den Fehler nicht, also weiss ich auch nicht nach was ich suchen soll! Habe ja oben schon reineditiert.
suter ist offline  
Alt 28.10.2004, 20:29  
Gast
 
Beiträge: n/a
Standard

$this kannste nur innerhalb einer Klasse verwenden:
PHP-Code:
class my_class {
   private 
$variable;
   function 
my_class() {
      
$this->variable 'inhalt';
   }
}

$object = new my_class();
echo 
$this->variable// falsch
echo $object->variable//richtig 
 
Alt 28.10.2004, 20:42  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

PHP-Code:
class Query
{
    
//Variablen
    
var $_sql "";
    var 
$_result 0;
    var 
$_error "";
    var 
$_db 0;
        
    function 
Query($sql)    //Konstruktor
    
{
        
$this->_sql trim($sql);
        
$this->_result mysql_db_query($this->_sql);
        if(!
$this->_result)
        {
            die(
mysql_error());
        }
    }
    function 
Connect($hostname$username$pw)
    {
        
$this->_db mysql_connect($hostname$username$pw) or die(mysql_error());
    }
    function 
numRows()
    {
        return 
mysql_num_rows($this->_result);
    }

hab ich ja
suter ist offline  
Alt 28.10.2004, 21:19  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Diese Klasse, wie sie da steht, funktioniert bei mir in PHP 5.
Der Fehler liegt woanders.
__________________
mod = master of disaster
Waq ist offline  
Alt 28.10.2004, 21:48  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

Bei mir kommt der Fehler auch erst, wenn ich die Connect Methode so aufrufe:

PHP-Code:
Query::Connect(); 
suter ist offline  
Alt 28.10.2004, 21:56  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Im statischen Kontext gibt es kein Objekt und damit kein $this!
Also ruf die Methode nicht statisch auf.
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.