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 19.01.2012, 19:45  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 184
PHP-Kenntnisse:
Anfänger
GELight sorgt für eine eindrucksvolle AtmosphäreGELight sorgt für eine eindrucksvolle Atmosphäre
GELight eine Nachricht über ICQ schicken GELight eine Nachricht über MSN schicken
Standard Rückgabewert als Referenz

Hallo alle zusammen,

Seit dem ich längere Zeit mit Javascript arbeiten musste/durfte, bin ich auf den Geschmack von Referenzen statt Kopieen gekommen.

Nun versuche ich mir das in PHP auch etwas zu Nutze zu machen und wollte folgendes versuchen, was leider bislang noch nicht ganz funktionieren will oder ich evtl. hier zu viel von PHP erwarte oder es ganz einfach falsch anwende.

Ich habe mir eine kleine statische Klasse geschrieben, die ich für da allgemeine Handling der SESSION nutze. Diese hat eine kleine Methode, die mir aus der Session ein ganz bestimmtes Array als Referenz zurück gibt:

PHP-Code:
    /* Get user data */    
    
public function &getUserData() 
    {
        if (!isset(
$this->session["usr"])) $this->session["usr"] = array();
        
        return 
$this->session["usr"];
    } 
Diese Methode rufe ich in meiner UserKlasse ( nicht statisch ) auf und speichere den Rückgabewert in einer privat Variable:

PHP-Code:
    /* Get all user data */    
    
private function getUserData() 
    {
        
$session = new BaseSession();
        
$this->usr = &$session->getUserData();
        
        
$this->usr["test"] = 123;
    } 
Gebe ich mir in der Methode getUserData als letztes mal testweise die Session aus, so ist leider nichts vom angelegten ["test"] zu sehen/verfügbar.
Vielleicht ist es ja ein Denkfehler meinerseits aber ich dachte mir es so dass ich förmlich aus der Session einen ganz bestimmten Bereich der UserKlasse zur Verfügung stelle und in der die UserKlasse machen kann, was sie will. Die Idee der Referenz war dahingehend, dass ich dachte so direkt wieder in die Session schreiben zu können.

Wenn es so nicht funktionieren sollte, dann werd ich es wohl so machen, dass ich mir das UserArray hole und am Ende wieder an die SessionKlasse zum speichern gebe.
Sollte es dennoch anders gehen, freue ich mich auf Tipps...

Gruß Mario
GELight ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.01.2012, 19:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Mein Rat: Lass es oder setze es um, wie zuletzt beschrieben. Zum ersten unterstützt PHP bei weitem nicht so sehr die Arbeit mit Referenzen wie Javascript. Zum zweiten kommst Du mit der Idee nicht weiter als bis auf eine Array-Dimension. Sonst müsstest Du alle darinliegenden Arrays ja ebenfalls als Objekte anlegen. Wenn Dir die eine Dimension reicht, bspw. als Namespace - fein. Mache ich ähnlich. Allerdings ohne Referenzen. Die Seiteneffekte sind manchmal einfach zu unübersichtlich.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
Verständnisproblem Referenz auf Objekt jori PHP Einsteiger 4 04.10.2011 09:24
(Verständnis-)Problem Referenz und (nicht) "mitziehen einer Referenz" jwka61 PHP Einsteiger 5 03.06.2011 13:15
mysqli offline referenz gesucht fruit PHP Einsteiger 2 06.01.2011 13:11
[Erledigt] Werden Objekte von Klassen immer als Referenz übergeben? Heimchen PHP Tipps 2010 9 02.05.2010 18:48
[Erledigt] Parameter wird als Referenz übergeben? Nightwave PHP Tipps 2010 6 09.04.2010 20:41
Referenz in mehrdimensionalem Array auch nach Kopie? ciss PHP Tipps 2008 3 03.12.2008 18:29
Referenz wiederherstellen cycap Datenbanken 8 03.09.2007 14:53
Referenz "&" auf einen Funktionsnamen? Was bed DonTermi PHP Tipps 2006 1 04.07.2006 12:43
exec kommando liefert keinen rückgabewert? sputnik83 PHP-Fortgeschrittene 3 06.04.2006 15:21
Problem mit Rückgabewert PHP Tipps 2007 16 21.11.2005 12:50
Rückgabewert bei getElementById PHP Tipps 2005 6 17.01.2005 15:23
Rückgabewert : undefined HTML, Usability und Barrierefreiheit 2 31.07.2004 22:49
[Erledigt] Count ?! Rückgabewert macht Problem.... Datenbanken 4 27.07.2004 20:06
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php arbeiten mit referenzen

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