echo 'htmlzeugs' oder ?>htmlzeugs<?php

Stefan Brinkers

Angesehenes Mitglied
was ist besser?

<?php
phpzeugs;
?>
<htmlzeugs>
<?php
...

oder

<?php
phpzeugs;
echo 'htmlzeugs';
?>


vor allem wenn man oft kurze "htmlzeugs"
smile.gif
hat??
 
QUOTE (Stefan Brinkers @ Mo 20.6.2005, 1:45) was ist besser?

[...]

vor allem wenn man oft kurze "htmlzeugs"
smile.gif
hat??

Hallo.

Das bleibt sich beinahe gleich, solange das echo mit einfachen Einführungzeichen ist, bei doppelten sicht das anders aus. Am schnellsten ist natürlich Variante 1, aber sie wird auch sehr unübersichtlich, wenn es sich um mehrere kleine Ausgaben handelt.


MfG Sascha Ahlers
 
QUOTE (Sascha Ahlers @ Mo 20.6.2005, 7:07) aber sie wird auch sehr unübersichtlich, wenn es sich um mehrere kleine Ausgaben handelt.



Trotzdem schreibe ich auch wenn möglich alle HTML Tags usw normal, da der PHP Interpreter ausgelastet wird.
 
QUOTE (Patrick- @ Mo 20.6.2005, 7:42)Trotzdem schreibe ich auch wenn möglich alle HTML Tags usw normal, da der PHP Interpreter ausgelastet wird.

Na ja, ich würde Dir davon abraten, ich habe es auch mal gemacht, aber die Ausbeute ist einfach nicht groß genug, besonders da auch die Anfang- und Ende Tags- des PHP-Scriptes durch den Interpretor ausgewertet werden müssen. Da kann man es lieber übersichtlicher gestallten, dies spart nachher Zeit.


Unsinnig, da hier nicht nur die echo-Befehle ausgewertet werden müssen, sondern auch das Anfang und das Ende des PHP-Bereiches:

CODE <form action="<?php echo $path; ?>script<?php echo $endung; ?>">


Besser hingegen, da nur ein echo Verwendet wird mit einfachen Anführzeichen und es statt 2 PHP-Bereichen nur einer existiert:

CODE <form action="<?php echo $path . 'script' . $endung; ?>">


Bei diesen Beispiel ist meistens Variante 2 Perfomanter.

BTW es gibt Methoden um PHP-Code zu cachen oder noch besser umzuwandeln in Maschinensprache, wozu extra Module erforderlich sind (100% Unterstützung gibt es hier bei der Umwandlung nur über kostenpflichtige Programme, auch wenn eine OpenSource Alternative existiert, die ist jedoch nicht ausgereift)



MfG Sascha Ahlers
 
QUOTE Unsinnig, da hier nicht nur die echo-Befehle ausgewertet werden müssen, sondern auch das Anfang und das Ende des PHP-Bereiches:


Danke für den Hinweis.
Werde ich mir zu Herzen nehmen.
 
zusammenfassend gesagt;
bei kleineren Seiten ist es also relativ egal und man kann das benutzen was einem besser gefällt - schön
smile.gif
 
würde mich schon sehr schwer wundern wenn das einen durch millisekunden auszumachenden vor oder nachteil bringen würde. auch die schreibweise mit echo ""; sollte gebenüber echo ''; nur einen vernachlässigbaren unterschied machen.
allein bei großen programmen könnte es passieren das es einen unterschied macht. dann ist der server aber einfach zu langsam *g*... und was viel wichtiger ist. es kommt vor allem bei großen programmen viel mehr auf die übersicht an als auf ein paar milisekunden. wenn du ein großes programm benutzt aber keinen entsprechenden rechner hast dann benutz ein anderes programm. da es in php aber keine großen gibt ist das thema eh sinnfern. generell ist es also total egal hauptsache man behält die übersicht.
getestet habe ich meine ausführung allerdings noch nicht. wäre aber sicherlich mal spannend.

ein beispiel dafür ist allerdings java, java wird verwendet weil man damit übersichtlich programmieren MUSS und bestimmt nicht weil es "so schnell ist" weil es nämlich übelst langsam ist
tongue.gif
... trotzdem kann man große programme damit eben besser schreiben. und dann gilt auch, nicht java ist zu langsam sondern der server auf dem das programm läuft.
 
QUOTE ein beispiel dafür ist allerdings java, java wird verwendet weil man damit übersichtlich programmieren MUSS und bestimmt nicht weil es "so schnell ist" weil es nämlich übelst langsam ist

Darf ich dich fragen, auf welche Quellen du dich beziehst? Ich bin ein Anhänger von Java und frage mich, warum riesige Firmen wie Oracle auf Java bauen sollten mit ihren Enterprise Datenbanken und Server, wenn es wirklich so *übelst* langsam wäre.

Und um wirklich offtopic zu werden:
Arbeitet doch mit HTML Templates, z.B. patTemplate von www.php-tools.de ! Nicht dass es schneller wäre als das Layout direkt in den Programmcode einzubetten, aber in dem Punkt bin ich mit Manuel einig: Gut durchdachte Struktur kann extrem viel Performance wett machen.
smile.gif
 
QUOTE (Josh @ Mo 20.6.2005, 15:21)Ich bin ein Anhänger von Java und frage mich, warum riesige Firmen wie Oracle auf Java bauen sollten mit ihren Enterprise Datenbanken und Server, wenn es wirklich so *übelst* langsam wäre.

Dann frag ich mal andersherum: warum gibt es einen Markt für Tools wie Toad, wenn doch Oracle mit ihrem Server ein DB-Management-Tool mitliefert? Genau weil eben dieses Java-Frontend-Dingens von Oracle steinlangsam und völlig mühsam zu gebrauchen ist - nach meiner Erfahrung jedenfalls.

Viele Firmen bauen nur deshalb auf Java, weil sie auf keinen Fall auf MS-Produkte bauen wollen. Ob sie dafür im Endeffekt höhere Kosten/Zeitaufwand in Kauf nehmen, wissen sie meistens am Anfang nicht - oder es ist ihnen egal ;-)

Griessli
Irene
 
QUOTE Genau weil eben dieses Java-Frontend-Dingens von Oracle steinlangsam und völlig mühsam zu gebrauchen ist

Ob es steinlangsam ist vermag ich nicht zu urteilen, aber dass Oracle Tools mühsam zu gebrauchen sind ist allseits bekannt, denn ihre Hauptaufgabe ist ja, die Produktionsumgebung zu liefern und nicht auch noch die Tools dazu, dafür gibt es einen anderen Markt.


QUOTE Viele Firmen bauen nur deshalb auf Java, weil sie auf keinen Fall auf MS-Produkte bauen wollen.

Finde ich eine gefährliche Aussage. Was sagst du z.B. zum Argument der Plattformunabhängigkeit?
 
Auch Java ist nicht wirklich plattformunabhängig. Viele der Klassen und Methoden verhalten sich auf verschiedenen Plattformen so unterschiedlich, dass trotzdem für jede Plattform oder Runtime-Version Anpassungen nötig sind. Damit ist - aus meiner Sicht - der Vorteil der Portierbarkeit nicht mehr gegeben.

Griessli
Irene
 
Wollen wir nicht weiter den Thrad zuspammen mit OT; besprechen wir das Thema gemütlich zu einem Bierchen beim nächsten Treffen, OK?
smile.gif
 
Zu der ursprünglichen Frage: auf den verschiedenen PHP-Mailinglisten gab es schon viele, viele Diskussionen zu dem Thema. Irgendwann erklärte einer der Hauptentwickler, dass (und warum) es keinen signifikaten Performanceunterschied gibt, auch nicht zwischen "strings" und 'strings'.

Spätestens mit dem Einsatz einer vernünftigen PHP-Caching-Lösung hat sich das Problem eh erübrigt.

Alles in allem würde ich empfehlen, gerade bei diesem Punkt eher an die Lesbarkeit des Codes als an etwaige Performancegewinne zu denken -- auch, wenn diese überhaupt spürbar wären.
 
QUOTE (Josh @ Mo 20.6.2005, 16:33)Wollen wir nicht weiter den Thrad zuspammen mit OT; besprechen wir das Thema gemütlich zu einem Bierchen beim nächsten Treffen, OK?
smile.gif


Ist gut ;-)

Zum Thema: auch bei ASP taucht diese Frage immer wieder auf, mit den verschiedensten Antworten. Ich meine mich zu erinnern, dass ich dann irgendwann auch ein Statement von Microsoft dazu gelesen habe, wonach es keinen signifikanten Unterschied macht. Also eigentlich genau die gleiche Aussage wie von dem erwähnten PHP-Entwickler.

Ich geh einfach mal davon aus, dass für Menschen gut lesbarer Code auch für den Interpreter gut lesbar ist - schliesslich ist der ja auch von Menschen gemacht ;-)

Griessli
Irene
 
QUOTE Ich geh einfach mal davon aus, dass für Menschen gut lesbarer Code auch für den Interpreter gut lesbar ist - schliesslich ist der ja auch von Menschen gemacht ;-)


Und wenn schon! Nehmen wir mal an, eine Webanwendung läuft 10% langsamer, weil sie gut lesbaren Code hat. Die Kosten, mit denen man diese 10% durch bessere Technik wettmachen kann (durch z.B. einen zusätzlichen Webserver, eine dickere CPU, mehr Speicher etc.), sind nicht erwähnenswert -- vor allem im Vergleich zu den Kosten, die entstehen, wenn man später zusätzliche Zeit damit verbrät, sich in den vermeintlich optimierten Code reinzulesen.

Zugegebenermaßen ist 'Hallo '.$name'.'!' nicht wirklich schwieriger lesbar als "Hallo $name!". Aber ich weine immer wieder innerlich, wenn z.B. irgendwo ein PHPler einem anderen von, sagen wir Mal, dem Einsatz eines MVC-Frameworks oder zumindest einer Template-Engine abrät, weil das ja "so schlecht für die Performance" sei. Argh...
wink.gif


Gruß,
Hendrik
 
Zurück
Oben