php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.08.2010, 16:55  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 469
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Auch falls Dir das nicht aufgefallen ist, gehorchen diese Escapings bestimmten Regeln.
Yep, und Regeln lernt man (auswendig), oder schlägt sie nach, aber man muss sie nicht begreifen.

Und wer mit mehr als PHP zu tun hat, wird, um den Lernaufwand gering zu halten, die Kollisionshäufigkeit minimal halten. Der Backslash ist ein solches Zeichen, das sehr oft eine Sonderbedeutung hat (außerhalb der PHP-Parser-Single-Hochkomma-Welt auch mitten in String-Literalen), deshalb vermeide ich seine Benutzung, wo er sowieso nicht gebraucht wird. Pfad-Angaben sind so eine Anwendung. Abgesehen vom MS-DOS-Kommandozeileninterpreter kommt man fast überall ohne ihn aus, weil da der normale (Forward-)Slash der de-facto-Verzeichnisebenen-Trenner ist.
__________________
Foreach ist auch eine Schleife!
fireweasel ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.08.2010, 19:04  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Und wer mit mehr als PHP zu tun hat, wird, um den Lernaufwand gering zu halten, die Kollisionshäufigkeit minimal halten.
Und wer später noch seine Pattern verstehen will, wird nicht alles pauschal quoten, nur weil der Ausdruck das verzeiht.

Zitat:
Regeln lernt man (auswendig), oder schlägt sie nach, aber man muss sie nicht begreifen.
Nicht alles ist aufzählbar und damit auswendig lernbar. Viele Dinge in der Programmierung sind beliebig kombinierbar. Deswegen muss man solche Sachen verstehen (bspw. das Prinzip des Ausdrucks in der Proghrammierung) um sie beliebig anwenden zu können.
__________________
--
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 gerade online   Mit Zitat antworten
Alt 09.09.2010, 21:17  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 469
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Und wer später noch seine Pattern verstehen will, wird nicht alles pauschal quoten, nur weil der Ausdruck das verzeiht.
Welche Pattern? String-Konstanten oder -Literale entstehen üblicherweise, indem man die entsprechenden Zeichen zwischen entsprechenden Begrenzungszeichen eintippt oder von irgendwoher (bspw. aus einem anderen Script) kopiert. Unnötiges "Escapen" oder Falsch-Interpretation durch den Compiler vermeidet man, wenn man hierbei die Zeichen innerhalb des Strings bewusst "kollisionsarm" wählt. Bei Pfadangaben ist das möglich, weil die auf fast allen Betriebssystemen auf die gleiche Weise angegeben werden könnnen.

Zitat:
Nicht alles ist aufzählbar und damit auswendig lernbar.
Die üblichen Escaping-Regeln sind aufzählbar. Und man muss sie auswendig lernen, sonst steht man vor genau den Problemen, die solche Threads wie diesen hier verursachen. ... also zumindest den Anfang davon, nicht die Korinthenkackerei hier am Ende dieses Threads.

Zitat:
Viele Dinge in der Programmierung sind beliebig kombinierbar. Deswegen muss man solche Sachen verstehen (bspw. das Prinzip des Ausdrucks in der Proghrammierung) um sie beliebig anwenden zu können.
Nochmal: Escaping-Regeln für String-Literale sind nicht beliebig kombinierbar, unter anderem, weil sie willkürlich mit der Entwicklung der jeweiligen Programmiersprache entstanden sind. Wo viele Sprachen sich ziemlich ähnlich sind, hat PHP seine etwas eigenwilligen Regeln, die muss man kennen, sonst bekommt man über kurz oder lang Probleme.
__________________
Foreach ist auch eine Schleife!

Geändert von fireweasel (11.09.2010 um 13:39 Uhr).
fireweasel ist offline   Mit Zitat antworten
Alt 09.09.2010, 22:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Wie auch immer. Ich finde diese Regeln (bspw. das Parsingverhalten und damit auch das Escapingverhalten innerhalb von verschiedenen Quotes) nicht willkürlich sondern sehr logisch und aus einander herleitbar. Deswegen versuche ich die Sachen zu verstehen, statt sie auswendig zu lernen.

Beispiel
PHP parst (nur) in doppelten Hochkommata Variablen (das muss man wissen vulgo „lernen“)
In Strings gibt es die Möglichkeit, Sonderzeichen mit Backslash auszukommentieren („lernen“)
Daraus folgt (verstehen, ableiten, !lernen):
- Will man $var in doppelten Hochkommata ausschreiben, muss man $ escapen, weil $ eine Sonderrolle im Variablenbezeichner zukommt. Mit \ als Escapezeichen ergibt sich also: "\$var"
- Will man $var in einfachen Hochkommata ausschreiben, muss man $ nicht escapen, weil $ zwar eine Sonderrolle im Variablenbezeichner zukommt, Variablen in einfachen Quotes aber ohnehin nicht geparst werden. Also ergibt sich: '$var'
- Will man \ in Hochkommata ausschreiben, muss man es escapen, weil es eine Sonderrolle einnimmt (eben als Escapezeichen). Folglich schreibt man " \\Foo Bar"
__________________
--
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 gerade online   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
[Erledigt] herausfinden ob ein bestimmter datensatz existiert. fisianer2009 PHP Tipps 2010 8 15.07.2010 15:09
Pfad auslesen von type=file in Safari Angins PHP Tipps 2010 12 01.07.2010 18:47
[Erledigt] Datei existiert, Zähler mit Schleife FloRic PHP Tipps 2009 2 12.01.2010 20:54
(.htaccess) AuthUserFile Pfad ermitteln!? BettinaSyn PHP Tipps 2009 6 19.05.2009 20:44
Pfad einer Lokalen Datei herausfinden Crypi PHP Tipps 2009 13 27.01.2009 09:09
Bei UPDATE erkennen, ob der Datensatz existiert? Anotherone Datenbanken 7 01.04.2008 14:49
Prüfen ob Verzeichnis auf dem FTP existiert mAy^daY Server, Hosting und Workstations 5 19.12.2006 02:40
mod_rewrite pfad problem TimmaY PHP Tipps 2006 1 08.08.2006 17:48
INTO OUTFILE - pfad nimmt er nicht an bendigo PHP-Fortgeschrittene 4 14.09.2005 01:21
pfad austausch lord nacon PHP Tipps 2005-2 0 12.08.2005 21:45
Prüfen ob db oder tabelle existiert GELight PHP Tipps 2005-2 2 01.08.2005 23:34
absoluter Pfad zur Datei - ohne Dateinamen PHP Tipps 2005 8 16.05.2005 19:40
phpmailer: Problem mit Pfad PHP Tipps 2005 4 10.02.2005 15:13
wie komm ich an den Pfad einer hochzuladenden Bilddatei? PHP Tipps 2004 6 26.10.2004 22:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php sonderzeichen realpath, realpath und umlaut, realpath php umlaute, konstanten in hochkommata auswerten, php pfad \\ nicht escapen, realpath php sonderzeicheen, realpath umlaute, http://www.php.de/php-fortgeschrittene/70630-pfad-mit-realpath-ermittelt-existiert-nicht-2.html

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