Suchen:
  • Impressum
  • Kontakt
  • Startseite
Effekt! Softwareentwicklung
  • Themen

    • Suchmaschinenoptimierung (SEO)
    • Usability
    • Projektplanung
    • Unterschiede
    • 10 Tipps zur Webseitenerstellung
  • Tutorials

    • Datum mit PHP
    • Uhrzeit mit PHP/AJAX
    • Feiertage ermitteln mit PHP
    • Arrays sortieren
    • Arrays und Iteratoren
    • Paypal-Buttons integrieren
    • Google Maps einbinden
    • Zufallsbanner mit Javascript
    • Effekte mit CSS3
    • Herausfahrendes Fenster mit jQuery
  • Tools

    • MD5-Hash-Generator
Startseite
Unterschiede

Unterschiede

Jeder Webentwickler wundert sich früher oder später wieso manche Elemente oder Funktionen scheinbar das gleiche Ergebnis bewirken. In einigen Fällen, besonders in der PHP-Welt ist das sogar der Fall, aber manchmal gibt es doch wesentliche Unterschiede.

Projektplanung
 
10 Tipps zur Webseitenerstellung

1. HTML: <b> = <strong>?

Es ist sicherlich bekannt dass beide HTML-Elemente eine fettgedruckte Schrift erzeugen können. Wofür gibt es dann zwei verschiedene Varianten?

Die Antwort ist, dass die beiden Elemente verschiedene Aufgaben übernehmen. Die Bereiche, die zwischen <b> und </b> eingeschlossen sind werden lediglich nur inhaltlich hervorgehoben. Das HTML-Element <strong> dagegen hat zusätzlich die Aufgabe den eingeschlossenen Bereich in seiner Wichtigkeit hervorzuheben, was vor allem für die Suchmaschinenoptimierung eine Rolle spielt. Das <strong> wird nicht automatisch von allen Browsern richtig interpretiert, daher sollte in der CSS-Datei etwas nachgeholfen werden mit strong { font-weight: bold; } (das ist jetzt übrigens in <strong> eingebettet).

Es macht nicht immer Sinn fettgedruckte Bereiche inhaltlich und gleichzeitig suchmaschinenrelevant zu kennzeichnen, das betrifft z.B. Ausdrücke die als Keyword ungeeignet sind (Variablen, Dateinamen, etc.).

2. PHP: require oder include?

Beides bewirkt das Einfügen einer ausgelagerten Datei an der Stelle des Befehls. Soviel zur Gemeinsamkeit.. aber was ist nun der Unterschied zwischen den beiden Aufrufen?

Ein require-Befehl wird immer ausgeführt, ob die einzufügende Datei existiert (true) oder nicht (false). Bei include wird die Datei nur ausgeführt wenn sie auch wirklich vorhanden ist (true). Einen weiteren Unterschied gibt es bei der Fehlermeldung, ein require erzeugt einen Fehler, ein include hingegen eine Warnung. Das require funktioniert außerdem in for- oder while-Schleifen nicht wie gewünscht, da inkludierte Dateien in diesem Fall so oft eingefügt werden wie die Schleife durchlaufen wird.

Wann setz ich nun was ein? Ein require ist sinnvoll, wenn das Programm durch des Fehlen der entsprechenden Datei nicht weiter ausgeführt werden soll. Das betrifft vor allem wichtige Einfügungen, z.B. die Überprüfung, ob eine Session vorliegt. Bei einem include dagegen wird das Script auch ausgeführt, wenn die zu inkludierende Datei nicht vorhanden ist, das können also Dateien sein, die für die Anwendung nicht so wichtig sind.

3. Allgemein: UTF-8 und ISO-8859-1(5)

Bekanntlich müssen Dateien, ob HTML, XML oder PHP, richtig codiert sein, damit alle Zeichen vernünftig ausgegeben werden. Am gängigsten sind die Kodierungen UTF-8 und ISO-8859-1 (alternativ ISO-8859-15, welche auch das €-Zeichen enthält).

Beide Kodierungen unterscheiden sich in ihrem Umfang. ISO-8859-1 hat Platz für 256 Zeichen (8 Bit), darin sind alle Umlaute enthalten, somit reicht diese Variante im deutschsprachigen Raum normalerweise aus. Webseiten mit arabischen, chinesischen, kyrillischen, .. Buchstaben benötigen dagegen UTF-8. Diese Kodierung kann bis zu 4 Byte enthalten, bietet also genügend Platz für alle vorhandenen Zeichen.

4. PHP: htmlentities() vs. htmlspecialchars()

Beide Funktionen sorgen für die Entwertung von HTML-Code. Dabei geht es in erster Linie um die Sonderzeichen < > & " und '. Mit den flag-Einstellungen kann festgelegt werden wie die Zeichenkette konvertiert werden soll, z.B. wandelt ENT_QUOTES doppelte und einfache Anführungszeichen um, ENT_NOQUOTES dagegen lässt beide Sonderzeichen unverändert. Standard ist ENT_COMPAT (doppelte Anführungszeichen werden konvertiert, einfache bleiben unverändert). Das trifft für beide Funktionen zu. Der Unterschied liegt darin dass htmlspecialchars() nur die eben fünf genannten Sonderzeichen umwandelt und htmlentities wirklich alle HTML-Zeichen.

Projektplanung
nach oben
10 Tipps zur Webseitenerstellung
© 2010-2011 Effekt! - Softwareentwicklung | Letzte Aktualisierung: 15.12.2011 - 15:40 Uhr