php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.11.2004, 17:31  
Gast
 
Beiträge: n/a
Standard Call to a member function on a non-object --> WARUM ?

Hallo PHP'ler,
ich mache ja nun reichlich Fortschritte, wenn da nur nicht immer diese Fehlermeldungen wären

Ok, wie jene die meine letzte Frage gelesen haben wohl erkannt haben, bin ich ein OOP-Freak. Und mein jetziges Problem ist in diesem Bereich angesiedelt.

Erstmal ein wenig Kot... ähhh Code

Code:
class someclass
{
  var $someobject;

  function someclass()
  {
    $someobject = new someobject();
  }

  function getobject()
  {
    return $this->someobject;
  }
}


$obja = new someclass();
$objb = $obja->getobject();

// SO UND HIER KOMMT DIE MAUS...ÄHH DER FEHLER
$objb->anyfunction();
Ergebnis ist der Fehler:
Call to a member function on a non-object

Ehe jetzt jemand fragt, ob die Funktion anyfunction in der Objektklasse überhaupt existiert: Dies ist erstens unerheblich für diesen Fehler und zweitens: Ja natürlich existiert das Teil

Ok, woran kann diese Fehlermeldung liegen. Der oben gezeigte Code ist natürlich auf das essentielle zurückgestutzt.

Wie stets bin ich für jede Hilfe dankbar

Gruss

alionsonny
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.11.2004, 18:22  
Gast
 
Beiträge: n/a
Standard

Hallo schon wieder,
also nun hab ich aus Langeweile und Frust noch ein wenig mit dem Code gespielt, und habe herausgefunden, dass es nicht am Rückgabewert liegt. Allgemein ist das ganze ziemlich kaputt. Habe den Code entgegen meiner OOP-Überzeugung folgendermassen umgeschrieben, und bekomme den Fehler trotzdem. Spinnt PHP jetzt ? Eigentlich ist der Code doch in Ordnung:

Code:
class someobject
{
  function anyfunction(){}
}

class someclass
{
  var $someobject;

  function someclass()
  {
    $someobject = new someobject();
  }

  function getobject()
  {
    return $this->someobject;
  }
}


$obja = new someclass();
$obja->someobject->anyfunction();
Tja und beim Aufruf von anyfunction immernoch dieser verdammte Fehler

Weiss wirklich niemand warum ?

Gruss

alionsonny
 
Alt 25.11.2004, 18:36  
Clan
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?
class someobject 

  function 
anyfunction(){
      echo 
"jeha..";
      } 


class 
someclass 

  var 
$obj

  function 
someclass() 
  { 
    
$this->obj = new someobject(); 
  } 

  function 
getobject() 
  { 
    return 
$this->obj
  } 



$obja = new someclass(); 
$obja->obj->anyfunction();
 
Alt 25.11.2004, 18:53  
Gast
 
Beiträge: n/a
Standard

Thanx Clan !!!
Ahhh, ich hasse es ! Ich bin eigentlich C++ und Delphi-Coder, und da ist innerhalb einer Klasse keine zusätzliche Angabe von this notwendig. Deswegen übsehe ich das auch gern mal.
Es ist schon eine Pest, dass PHP in den meisten Syntaxfragen mit C++ identisch ist, und dann an solchem Fitzelkram Ausnahmen macht.

Aber das liegt wohl an der Tatsache, dass PHP interpretiert werden muss. Schade eigentlich, denn es wäre echt cool, wenn PHP syntaktisch mit C++ identisch wäre. Hehe, damit meine ich nicht die Mehrfachvererbung. Auf die kann jeder vernünftige Coder glaube ich getrost verzichten.

Hach, musste mich jetzt mal auskotzen

Allervorzüglichsten Dank nochmals

alionsonny
 
Alt 25.11.2004, 20:16  
Clan
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von alionsonny
Thanx Clan !!!
Ahhh, ich hasse es ! Ich bin eigentlich C++ und Delphi-Coder, und da ist innerhalb einer Klasse keine zusätzliche Angabe von this notwendig.
kennste das?! *g* auch unter c++ ist dies möglich..
PHP-Code:
void klasse::test(){ this->state true; } 


Zitat:
Zitat von alionsonny
Deswegen übsehe ich das auch gern mal.
nix gut *g*

Zitat:
Zitat von alionsonny
Aber das liegt wohl an der Tatsache, dass PHP interpretiert werden muss. Schade eigentlich, denn es wäre echt cool, wenn PHP syntaktisch mit C++ identisch wäre.
was meinste was passieren würde wenn es auf einmal anders wäre *gg*
wieviel aplikationen dann aufeinmal nicht mehr funktionieren würden...

Zitat:
Zitat von alionsonny
Hehe, damit meine ich nicht die Mehrfachvererbung. Auf die kann jeder vernünftige Coder glaube ich getrost verzichten.
na.. es kommt auf das projekt an würd ich ma sagen, denn mehrfachvererbung kann doch schonmal sehr sinnvoll sein


Zitat:
Zitat von alionsonny
Hach, musste mich jetzt mal auskotzen

Allervorzüglichsten Dank nochmals

alionsonny
jo gern geschehen
 
 


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fatal error: Call to a member function on a non-object tweek PHP Tipps 2008 13 25.06.2008 12:56
Fatal error: Call to a member function on a non-object atom-dragon PHP Tipps 2007 20 02.12.2007 22:22
Call to a member function on a non-object Riks PHP Tipps 2007 20 10.02.2007 22:59
Call to undefined function dbase_open() PHP Tipps 2005-2 2 10.08.2005 15:14
Problem Call to a member function on a non-object PHP Tipps 2005 5 24.05.2005 19:14
Call to a member function on a non-object PHP Tipps 2005 12 24.05.2005 04:06
Fatal error: Call to a member function on a non-object PHP Tipps 2005 7 13.04.2005 07:24
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
Fatal error: Call to a member function on a non-object PHP Tipps 2005 15 04.02.2005 13:02
Fatal error: Call to undefined function: imagecreatefromjpeg DannyD PHP-Fortgeschrittene 10 05.12.2004 21:59
[Erledigt] Call to undefined function highlight() PHP Tipps 2004 1 07.09.2004 09:31
[Erledigt] Call to undefined function mysql_connect() Datenbanken 4 24.08.2004 22:04
Fatal error: Call to undefined function: sqlite_open()..... PHP Tipps 2004 11 01.08.2004 17:44
Fatal error: Call to undefined function: mail() in... PHP Tipps 2004 5 31.07.2004 17:25
[Erledigt] Fatal error: Call to undefined function:... PHP Tipps 2004 8 27.06.2004 12:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
call to a member function, fatal error: call to a member function set() on a non-object in, mamp call to undefined function dbase_open, call to a member function getitems() on a non-object in, fatal error: call to a member function gt(), call to a member function write() on a non-object, fatal error: call to a member function setstate() on a non-object, call to a member function gt() on a non-object, call to a member function on a non-object, php call to a member function getobj() on a non-object, fatal error: call to a member function getitems() on a non-object, call to a member function setstate(), call on a non object, call to a member function getobjects(), magento call to a member function setstate() on a non-object, call to a member function getobject() on a non-object, call a member function on a non-object, call to a member function getitem() on a non-object in, call to a member function getobjekt() on a non-object, c \this notwendig\

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:05 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.