WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » wie object stdClass prüfen und auslesen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von elster
hi raiserle, Danke!

Ja so ähnlich. Habs mittlerweile gelöst. Es ist schon eine Weile her, aber in etwa so:
$fields = $this->item->profile->getFieldset('profile');
und
foreach ($fields as $profile) {
und
$profile->city } ...
Grüße
von raiserle
Naja, solange es protected ist, kann man es wie in einem Post weiter oben machen.
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
<?php
class ContactViewContact { # ich gehe mal davon aus, dass du selbst diese Klasse erstellt hast.
    # ansonsten , geh halt in den Quellcode und füge die Methode ein.... aber mein Vorredner
    # hatte es ja schon gesegt. Es sollte eine Methode geben, um auf city zugreifen zu können.

    # ......
    public function getCity()
    {
        return $this->state->profile->data->data->profile->city;
    }
    #......
}
?>

Warum und wieso man solche Strukturen schafft... ist mir zu entfernt... ;)
Aber probiers mal so - sollte gehen.
von Ori
Ich blicke immer noch nicht ganz durch deine Objekte durch. Das ist die Ausgabe von print_r($this) und du bist in ContactViewContact (ein seltsamer Name für eine Klasse)?

Und ich muss nochmal darauf hinweisen, dass solch ein Zugriff mit Sicherheit nicht vom Erfinder der Klassen, die du benutzt, gewollt ist. Eigentlich solltest du auf anderem Weg Zugriff auf diese Eigenschaft haben. Da muss es doch irgendwo eine Doku geben…
von elster
Hi Ori,
1:
Zwei::getData(Eins::getData($this->item->profile))->city; 
gibt nichts aus, bleibt leer, obwohl was im array enthalten ist. Die Struktur sieht so aus (aus print_r):
ContactViewContact Object (
[state:protected] => JObject Object (
...
[profile] => JForm Object (
[data:protected] => JRegistry Object (
[data:protected] => stdClass Object (
[profile] => stdClass Object (
[city] => "downtown"
...
vielleicht ist da irgendwo in dem Framework noch was "gedeckelt" oder meine Variablennamen stimmen nicht?
Grüße, elster
von Ori
Genau, $this zeigt immer auf die aktuelle Instanz der Klasse, in der du gerade bist.

Der Wert von city ist tatsächlich ein leerer String. (Das steht in deiner print_r()-Ausgabe im ersten Beitrag.)

Wie die Variable mit deiner Instanz von JForm heißt, kann ich nicht raten. Ich habe sie $jformding getauft; den Variablennamen musst du durch den echten ersetzen.

Nach oben