php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.02.2012, 21:28  
Benutzer
 
Registriert seit: 07.05.2009
Beiträge: 36
superheld ist zur Zeit noch ein unbeschriebenes Blatt
Standard Notice: Trying to get property of non-object

Hallo!

Ich bin recht neu, was OOP angeht und habe nun den oben genannten Fehler.

Meine Klasse hat das Ziel, die Konfigurationsdatei aufzurufen um mit einer Methode auf die unterschiedlichen Einträge zuzugreifen:

PHP-Code:
class config {
    
    
/**
     * Datei öffnen
    */ 
    
    
private $xml_config_data NULL;
    
    function 
__construct() {
            
        if (
is_file('core/etc/config.xml'))
            
$xml_config_data simplexml_load_file('core/etc/config.xml');
        
// TODO: else write error to debug.log
        
echo '<pre>'.print_r($xml_config_data,1).'</pre>';
    }
    
    
    
/**
     *     Datenabfrage
     * 
     */
    
    
private $arr = ARRAY();
    
    function 
config_return ($xml_node) {

        
$arr explode("/"$xml_node);

        return 
$this->xml_config_data->$arr[0]->$arr[1];
    }
     
}

$config = new config();
echo 
$config->config_return('database/user'); 
Was ist falsch?

Eigentlich wollte ich die Methode in anderen Klassen anwenden. Das scheint auch nicht zu klappen. Aptana meldet mir einen Snytax Error. Kann das sein?

Gruß
Superheld
superheld ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.02.2012, 21:32  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von superheld Beitrag anzeigen
Ich bin recht neu, was OOP angeht
Schön, dass du dann gleich im Fortgeschrittenen-Forum postest

Was falsch ist? Übersetz den Fehler bitte mal. Was ist eine Property bei OOP, was ist ein Objekt (und damit ein non-object)? Was hat Properties?

Grundsätzlich hilfreich: Bevor du auf etwas zugreifst, prüfe, ob es existiert.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 02.02.2012, 21:53  
Benutzer
 
Registriert seit: 07.05.2009
Beiträge: 36
superheld ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Schön, dass du dann gleich im Fortgeschrittenen-Forum postest
Naja, Anfänger = Strukturiertes Programmieren

Okay, ich glaube zu verstehen: simplexml_load_file erzeugt ein Objekt und Objekte sind eben keine Eigenschaften und werden daher nicht übergeben. Richtig? mein print_r innerhalb der Methode config_read() ergibt Undefined variable.

Wenn dem so ist, wie kann ich dann das Objekt übergeben? Ich möchte ungern bei jedem Methodenaufrauf die Datei neu einlesen.

Bin ich überhaupt auf dem richtigen Weg?

Quelltext innerhalb der Klasse:

PHP-Code:
private $xml_config_data NULL;
    
    function 
__construct() {
            
        if (
is_file('core/etc/config.xml'))
            
$this->$xml_config_data simplexml_load_file('core/etc/config.xml');
            
// Hardcoded of course there are user names and passwords inside
        // TODO: else write error to debug.log

    
}
    
    public function 
config_return ($xml_node) {

echo 
'<pre>'.print_r($this->xml_config_data,1).'</pre>';

        
$arr explode("/"$xml_node);

        return 
$this->xml_config_data->$arr[0]->$arr[1];
    } 

Geändert von superheld (02.02.2012 um 21:57 Uhr). Grund: FYI
superheld ist offline   Mit Zitat antworten
Alt 02.02.2012, 22:00  
Benutzer
 
Registriert seit: 07.05.2009
Beiträge: 36
superheld ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hat sich erledigt, da war noch ein $ zu viel.

Danke für den Tip
superheld ist offline   Mit Zitat antworten
Antwort


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
Soap response stdclass Object ausgeben Agrippa PHP Einsteiger 2 18.12.2011 01:52
[Erledigt] Undefined offset Fehlermeldung - Array füllt sich in Etappen ProCoder2025 PHP Einsteiger 5 28.11.2011 23:33
[Erledigt] PDF im Browser Streamen PiXeL1337 PHP Einsteiger 22 08.09.2011 16:24
Notice: Undefined property Thoresus PHP Tipps 2009 2 17.08.2009 23:30
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
Notice: Trying to get property... jimHawk PHP Tipps 2009 9 23.03.2009 16:10
php datei löschen djscaleo PHP Tipps 2008 21 14.11.2008 15:47
Undefined variable Undefined property: block xxJJxx PHP Tipps 2008 16 05.08.2008 15:30
Notice: Undefined index Kein Genie PHP Tipps 2008 5 23.04.2008 17:40
Gibt keine Ausgabe aus socke PHP Tipps 2005-2 9 31.08.2005 15:39
Notice: Undefined property GrU3nL!nG PHP Tipps 2005-2 23 14.08.2005 17:36
[php 5] fehler: trying to get property of non-object DRNGEND PHP Tipps 2005-2 2 12.08.2005 20:33
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
notice: trying to get property of non-object, notice: trying to get property of non-object in, trying to get property of non-object in xml, php trying to get property of non-object, trying to get property of non-object, trying to get property of non-object in php, notice trying to get property of non-object in, php notice: trying to get property of non-object, xml trying to get property of non-object, trying to get property of non-object php

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