Portal > Foren > PHP > PHP-Programmierung > Referenzen in PHP
Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 11.01.2010, 09:45 Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Koblenz
Beiträge: 4.794
Standard Referenzen in PHP

Absolut lesenswert: Do not use PHP references - Johannes Schlüter

Knall ich einfach mal hier rein!
__________________
Mehr TuS Koblenz geht nicht ... - TuS Koblenz Forum ... Benjamin Klaile ist noch in der Aufwärmphase
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2010, 12:09 Nach oben    #2
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 693
Standard

Recht hat er der Kollege. Referenzierung sucks :)
Außer für Objekte in PHP <5 hab ich auch noch nie ne Referenz benutzt, macht alles nur zu kompliziert und bringt keine großen Vorteile. Es hat schon nen Grund, dass z.B. Java komplett ohne Referenzen auskommt.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist gerade online  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2010, 14:36 Nach oben    #3
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 335
Standard

Es spart RAM bei z. B. globalen Daten.

TYPOlight nutzt das u. a. bei den Sprachdateien: Da gibt es ein $GLOBALS['TL_LANG'], in dem alle Infos drinne stehn. Die Methoden für Frontend- und Backendgenerierung speichern (per Referenz) die Sprachinfos natürlich in passenden kurzen Variablen (teils auch, damit ein einheitliches Field-Container-Format eingehalten werden kann – siehe DataCointainerArray). Wenn jetzt einer die Sprachinformationen eines Feldes ändern möchte, kann er das in einer beliebigen Stelle des Codes tun. Außerdem wird nicht der RAM mit Variablenkopien vollgeballert (wie der Artikel erklärt, tritt das natürlich nur im vorangehenden Fall auf).

Es gibt sinnvolle Anwendungen für Referenzen, aber natürlich sollte man das nicht immer machen ;).
FloB ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.01.2010, 20:55 Nach oben    #4
Lutz Mahlstedt
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 827
Standard

Ohne jetzt ALLES auf der verlinkten Seite gelesen zu haben muss ich gleich sagen: Ich bin kein Freund von genereller Verteufelung bestimmter Funktionen! Wenn es bestimtme Features in Programmiersprachen gibt, warum sollte man sie dann nicht benutzen!? Sicher ist es manchmal etwas tricky mit Referenzen, aber wer damit nicht umgehen kann, sollte es wohl auch besser sein lassen. Das heißt aber noch lange nicht, dass es grundsätzlich verboten gehört, denn es gibt ja auch das Lager derer, die damit eine Menge anfangen können. Ich persönlich bin absoluter Fan von Referenzen, da sie zum Einen helfen viel RAM zu sparen und zum Anderen einem das Leben deutlich vereinfachen (gerade bei verschachtelten Strukturen).

Wer es nicht mag muss es ja nicht einsetzen und kann seine Erfahrungen damit ja auch gerne kund tun, aber generell allen davon abzuraten bzw. es ihnen fast schon aufzuzwingen, es ja niemals zu benutzen halte ich für den falschen Weg.
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.01.2010, 10:05 Nach oben    #5
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Koblenz
Beiträge: 4.794
Standard

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Wer es nicht mag muss es ja nicht einsetzen und kann seine Erfahrungen damit ja auch gerne kund tun, aber generell allen davon abzuraten bzw. es ihnen fast schon aufzuzwingen, es ja niemals zu benutzen halte ich für den falschen Weg.
Nichts anderes steht da. Dass am Ende ein Fazit im Sinne von "bloß nicht verwenden" steht, ist in meinen Augen auf Basis des Textes absolut schlüssig, da es die eigene Erfahrung widerspiegelt und zusammenfasst.


Ich hab aber noch eine Frage hierzu.
Zitat:
Wenn jetzt einer die Sprachinformationen eines Feldes ändern möchte, kann er das in einer beliebigen Stelle des Codes tun.
Warum sollte man das machen wollen? Ich würde jetzt spontan sagen, dass es gewollt sein sollte, eine zentrale Stelle zu haben, an der solche Dinge verwaltet werden, oder?
__________________
Mehr TuS Koblenz geht nicht ... - TuS Koblenz Forum ... Benjamin Klaile ist noch in der Aufwärmphase
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.01.2010, 11:10 Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 335
Standard

Nunja, du hast verschiedene Erweiterungen (inklusive Backend und Frontend), jede dieser Erweiterungen hat ihre Sprachdateien. Dann gibt es noch eine zentrale Sprachdatei, in der die Angaben überschrieben oder neue hinzugefügt werden können. Außerdem kann in eigenen Erweiterungen noch alte Angaben überschrieben werden (wenn eine gewisse Reihenfolge eingehalten wird) – natürlich sollte man aufpassen, dass man nicht versehentlich einen bestimmten Wert überschreibt, dafür kann man ja aber das Array beliebig verschachteln.
Warum nicht die originalen Sprachdateien direkt ändern? Ganz einfach: Bei einem Update sind die Änderungen nicht futsch!

Klar könnte man das auch über eine Sprach-Klasse machen, aber (1) die braucht genauso RAM und (2) obendrein belastet sie den Prozessor verstärkt.

Edit: Natürlich ist es nicht unbedingt sinnvoll, im ausführenden Code auf einmal eine Sprachvariable zu ändern, aber es gibt sicher Fälle, in denen das sinnvoll ist.
FloB ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.01.2010, 14:31 Nach oben    #7
Lutz Mahlstedt
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 827
Standard

@Ben: Ich sagte ja, dass ich nicht alles gelesen habe, denn: Die Überschrift sugeriert meiner Meinung nach bereits eine komplette Anti-Stimmung und die Anfänge des Textes gehen in die gleiche Richtung.
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kummunikation zwischen PHP Und einem "Java Server" Avaris Anwendungsdesign / Softwarearchitektur 25 07.12.2008 16:23
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47