php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.09.2008, 20:06  
Neuer Benutzer
 
Benutzerbild von topse
 
Registriert seit: 05.09.2008
Beiträge: 5
topse befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Frage zu Varianten von der echo() funktion

Hallo,
ich habe mehrere Fragen zu dem unterschiedlichen Varianten mit denen man in der echo() Funktion HTML/Java Script code mit php Variablen ausgeben kann, ich kenne die 3 Varianten:

Variante 1:
PHP-Code:
echo("
<table width='500' border='1' align='center'>
    <tr height='35'>
          <td width='40' class='$style' align='center'>$vorname</td>
          <td width='*' class='$style'>$nachname</td>
          <td width='50' class='$style' align='center'>$alter</td>
          <td width='80' class='$style' align='center'>$geschlecht</td>
          <td width='25' class='$style' align='center' class='$style' onClick=\"open_popup($seite);\"><img src='grafiken/$foto.png'></td>
          <td width='25' class='$style'>&nbsp;</td>
    </tr>
<table>
"
); 
Variante 2:
PHP-Code:
echo("
<table width='500' border='1' align='center'>
    <tr height='35'>
          <td width='40' class='"
.$style."' align='center'>".$vorname."</td>
          <td width='*' class='"
.$style."'>".$nachname."</td>
          <td width='50' class='"
.$style."' align='center'>".$alter."</td>
          <td width='80' class='"
.$style."' align='center'>".$geschlecht."</td>
          <td width='25' class='"
.$style."' align='center' class='".$style."' onClick=\"open_popup(".$seite.");\"><img src='grafiken/".$foto.".png'></td>
          <td width='25' class='"
.$style."'>&nbsp;</td>
    </tr>
<table>
"
); 
Variante 3:
PHP-Code:
echo <<<HTMLCODE
<table width='500' border='1' align='center'>
    <tr height='35'>
          <td width='40' class='$style' align='center'>$vorname</td>
          <td width='*' class='$style'>$nachname</td>
          <td width='50' class='$style' align='center'>$alter</td>
          <td width='80' class='$style' align='center'>$geschlecht</td>
          <td width='25' class='$style' align='center' class='$style' onClick="open_popup($seite);"><img src='grafiken/$foto.png'></td>
          <td width='25' class='$style'>&nbsp;</td>
    </tr>
<table>
HTMLCODE; 
Alle drei Varianten geben exakt das Gleiche aus.

Nun trotzdem meine Fragen:
- Gibt es hierbei Unterschiede in der Verarbeitung der Variablen?
- Macht das ". und ." im zweiten Beispiel Sinn und sollte man es benutzen?
- Gibt es Unterschiede bei der Geschwindigkeit der Verarbeitung von der echo() funktion?
- Welche Variante benutzt ihr und gibt es eine "beste" Variante??
- Gibt es generelle Unterschiede bei den 3 Beispielen auf die man achten muss?
- Gibt es noch eine andere Variante die evtl. besser wäre?

Ich bedanke mich schonmal im Voraus,
Topse

Geändert von topse (05.09.2008 um 20:10 Uhr).
topse ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.09.2008, 20:13  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hallo und herzlich willkommen!

Nur nebenbei: echo ist keine Funktion, sondern ein Sprachkonstrukt.
Persönlich finde ich Singlequotes und Punktsyntax am besten, also:
PHP-Code:
echo 'bla' $blub
Hat zudem den Vorteil, dass PHP sich gar nicht erst die Mühe macht, Variablen im String zu suchen. Diese Variableninterpolation kann übrigens auch zu Fehlern führen, die man nicht so schnell erkennt:
PHP-Code:
echo "Ein Datum: $year_$month_$day"
und nun wundert man sich, warum nur $day ausgegeben wird und nicht $year und $month.
Also wenn Variableninterpolation, dann so:
PHP-Code:
echo "Ein Datum: {$year}_{$month}_{$day}"
Die letzte Methode ist einfacher, allerdings ist es nicht so einfach zu erkennen, was noch zum String gehört und was nicht, da diese Parts i.d.R. nicht von Highlightern hervorgehoben werden.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 05.09.2008, 20:15  
Erfahrener Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 612
PHP-Kenntnisse:
Fortgeschritten
Young Jedi befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Prinzipiell gehen, wie du bereits bemerkt hast, alle 3 Varianten. Zu der letzten kann ich nicht viel sagen, da ich sie nie benutze. Zwischen Variante 1 und 2 besteht natürlich der Unterschied, dass 2. mehr Schreibarbeit ist, trotzdem würde ich dir empfehlen, diese Variante zu benutzen, da sie besser zu lesen ist und das Fehlerpotenzial minimiert.

Noch zwei andere Dinge:
1. Echo kann auch ohne "(" und ")" aufgerufen werden. Es ist eher unüblich
PHP-Code:
echo ("Ausgabe"); 
zu schreiben.

2. Finde ich es sehr unüblich, in HTML Tags ' als Anführungszeichen zu verwenden. Um ein " zu schreiben, musst du es escapen (\") oder gleich so schreiben:
PHP-Code:
echo '<img src="blubb" />'
Mfg

PS: Da war jmd. schneller
__________________
http://tippsgegenlangeweile.de

Young Jedi ist offline  
Alt 05.09.2008, 20:31  
Neuer Benutzer
 
Benutzerbild von topse
 
Registriert seit: 05.09.2008
Beiträge: 5
topse befindet sich auf einem aufstrebenden Ast
Standard

Hi,
ich danke euch erstmal für die schnellen und guten Antworten

Zitat:
echo ist keine Funktion, sondern ein Sprachkonstrukt. :wink:
okay werde ich mir merken

Zitat:
Echo kann auch ohne "(" und ")" aufgerufen werden.
danke, werde echo ab jetzt ohne Klammern benutzen

Zitat:
Prinzipiell gehen, wie du bereits bemerkt hast, alle 3 Varianten. Zu der letzten kann ich nicht viel sagen, da ich sie nie benutze. Zwischen Variante 1 und 2 besteht natürlich der Unterschied, dass 2. mehr Schreibarbeit ist, trotzdem würde ich dir empfehlen, diese Variante zu benutzen, da sie besser zu lesen ist und das Fehlerpotenzial minimiert.
ist mir auch aufgefallen, dass die dritte Variante sogut wie garnicht benutzt wird. Hab bis jetzt auch immer die zweite benutzt, dachte nur das ist etwas umständlich.

MfG Topse
topse ist offline  
Alt 05.09.2008, 21:01  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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

Zusätzlich zur HEREDOC Syntax (Variante 3) kommt ab 5.3. noch die sog. NOWDOC Syntax hinzu: eine Variante 3 ohne Variablenparsing.

Das beste Argument für Variante 2 ist aber wirklich das Syntaxhighlighting. Performance dürfte wirklich zu vernachlässigen sein.

Für bestimmt Anwendungsfälle kann es auch sinnvoller sein, Funktionen der printf Familie zu verwenden.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (05.09.2008 um 21:05 Uhr).
nikosch ist gerade online  
Alt 05.09.2008, 21:26  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Variante1: Bei schnellgeschriebenen oder kleinen Scripts/ lazy, nicht die feine Art, da man die Variablen bei längeren Ausgaben suchen muss

Variante2: Ist am Besten für kurze Ausgaben

Variante3: Bei gorßen Blöcken, wie in deinen Beispielen
PTC ist offline  
Alt 05.09.2008, 21:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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

Variante 3 und 4 sind ohnehin nur für Zuweisungen sinnvoll. Statt echo kann man sonst auch einfach den PHP Bereich verlassen und alles zwischen ?> und <?php schreiben und lediglich die Variablen ausgeben. Das ist wiederum für die Unterstützung des HTML Codes durch Highlighting sinnvoll.
__________________
--
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  
 


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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
[Erledigt] Bestimmten Datensatz aus SESSION Array löschen! litterauspirna PHP Tipps 2008 13 27.08.2008 18:05
[Erledigt] Unnötige Leerstellen von PHP nach HTML Holli91 PHP Tipps 2008 8 20.06.2008 17:48
frage: welche array funktion?? mrrosette PHP Tipps 2008 24 19.05.2008 16:22
Anfänger bittet um KleinLoginScriptPrüfung / PHP und MySql prinzli PHP Tipps 2008 10 08.11.2007 08:07
$_POST Übergabe Problem mit Daten der MySql prinzli PHP Tipps 2008 20 31.10.2007 12:53
JS: Frage zu onClick in Verbindung mit einer Funktion HTML, Usability und Barrierefreiheit 1 04.11.2005 16:06
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
usort Funktion, kleine Frage zur Arbeitsweise. PHP Tipps 2005-2 4 25.07.2005 23:08
session und verarbeitung PHP Tipps 2005-2 7 13.06.2005 20:51
Shop aufbauen PHP Tipps 2005 5 10.05.2005 15:08
[Erledigt] Formular formatieren HTML, Usability und Barrierefreiheit 5 30.01.2005 13:45
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
upload mehrere dateien chief-thomson PHP Tipps 2004 5 26.08.2004 17:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php echo varianten, \echo<<<\ php function, echo in einer funktion php, echo mit oder ohne klammern, über echo java funktion

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