Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

sqldatasource dal, wwwxxxenden, convert raid5 to raid 10 mdadm, apache force chunked, nrao wwwxxx, xxxxxdup, procmail change subject header, wwwXxx not20, Wwwxxx.doks sas, linux raid resync after reboot

Links

XODOX
Impressum

#1: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 14:31:57 by Michael Weis

Hallo,

Ich programmiere einen kleinen Shop um, ist wohl CGI-PHP (1&1 Webpräsenz).

2 Möglichkeiten des codings:

PHP "einbetten"

<td rowspan="2" class="oben">
<div align="left"><img border="0" <?php echo
"src=\"../../pics/".$result['name_file'].".jpg\"" ?>></div>
</td>

oder auch die statischen HTML-Teile als php echo ausgeben:

<?php echo "<td rowspan='2' class='oben'> <div align='left'><img
border='0'src='../../pics/".$result['name_file'].".jpg' ></dic></td> ?>


Die erstere Variante fände ich übersichtlicher, was die html und css
Syntax angeht, das Syntax highlighting meines Editors ist da schöner.

Stimmt es denn, das im ersten Fall pro PHP Aufruf ein eigener ProzeÃ
gestartet wird, d.h. die Verarbeitung ja sehr suboptimal wäre?

Danke für Aufhellung, in der FAQ oder meinen dicken Büchern habe ich
dazu nichts konkretes gefunden.

GruÃ,

Michael

Report this message

#2: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 14:37:29 by mmueller12

Michael Weis schrieb:
> Die erstere Variante fände ich übersichtlicher, was die html und css
> Syntax angeht, das Syntax highlighting meines Editors ist da schöner.
>
> Stimmt es denn, das im ersten Fall pro PHP Aufruf ein eigener ProzeÃ
> gestartet wird, d.h. die Verarbeitung ja sehr suboptimal wäre?
Meines Wissens läuft das so ab:
Der Apache reicht die Datei an den PHP-Interpret weiter, der schaut sich
durch was in der Datei an PHP-Befehlen auszuführen ist, führt diese aus,
und reicht das Ergebnis dann an Apache zurück. Also nichts mit mehreren
PHP-Prozessen.

Michael

Report this message

#3: Re: Anfängerfrage:welcher PHP Aufruf ist besser?

Posted on 2008-04-16 14:51:24 by Samuel Suther

Michael Weis wrote:

> Hallo,
>
> Ich programmiere einen kleinen Shop um, ist wohl CGI-PHP (1&1 Webpräsenz).
>
> 2 Möglichkeiten des codings:
>
> PHP "einbetten"
>
> <td rowspan="2" class="oben">
> <div align="left"><img border="0" <?php echo
> "src=\"../../pics/".$result['name_file'].".jpg\"" ?>></div>
> </td>
>
> oder auch die statischen HTML-Teile als php echo ausgeben:
>
> <?php echo "<td rowspan='2' class='oben'> <div align='left'><img
> border='0'src='../../pics/".$result['name_file'].".jpg' ></dic></td> ?>
>
>
> Die erstere Variante fände ich übersichtlicher, was die html und css
> Syntax angeht, das Syntax highlighting meines Editors ist da schöner.
>
> Stimmt es denn, das im ersten Fall pro PHP Aufruf ein eigener ProzeÃ
> gestartet wird, d.h. die Verarbeitung ja sehr suboptimal wäre?
>
> Danke für Aufhellung, in der FAQ oder meinen dicken Büchern habe ich
> dazu nichts konkretes gefunden.
>
> GruÃ,
>
> Michael
Kannste halten wie du willst, ist lediglich ein unterschied in der
Lesbarkeit es Codes.

Wenn du absolut lesbaren HTML-Code ohne einschränkungen von " und ' nutzen
wills, informier dich auch mal über EOF.

Ein Beispiel:
=============

echo <<<EOF
<!--Hier beginnt die eigentliche Seite-->
<td width=100% valign="top">
<h1 align=center>Webserver - PHP</h1>
<p class="erps" align="justify">
PHP bietet die gleichen Möglichkeiten wie SHTML. Die folgende Zeile wird bei
jedem Aufruf der Seite
zufällig aus einer Datei eingebunden.
EOF;

Oben das <<<EOF ist der Start, dann muss ein Zeilenumbruch folgen. Alles was
dann kommt, ist wie der Inhalt einer eigenen Textdatei (inkl. Leerstellen
und Tabs am Anfang.

beendet wird der aufruf mit EOF;

Viel SpaÃ
Samuel Suther
-www.suther.de-

Domains, Hosting, Onlineshops: xstable.de

Report this message

#4: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 14:53:50 by Christoph Herrmann

Michael Müller schrieb:
> Der Apache reicht die Datei an den PHP-Interpret weiter, der schaut sich
> durch was in der Datei an PHP-Befehlen auszuführen ist, führt diese aus,
> und reicht das Ergebnis dann an Apache zurück. Also nichts mit mehreren
> PHP-Prozessen.

Ist es nicht so, dass der Apache die komplette Datei an den Interpreter
weiterleitet sobald diese eine entsprechende Dateiendung hat?

Jeder Seitenaufruf ist dabei soweit ich weià ein eigener Prozess.

Der PHP Interpreter geht die Datei dann durch und gibt sämtliche
Ausgaben auÃerhalb der PHP Tags direkt aus bzw. führt sämtliche
Anweisungen innerhalb dieser PHP Tags aus.

Ob die Verarbeitung so oder anders schneller ist kann ich nicht
beurteilen, aber generell tendiert der Trend dazu, HTML und PHP Code
voneinander zu trennen.

Dies funktioniert zum Beispiel mit Hilfe einer Template Engine:
http://de.wikipedia.org/wiki/Template_Engine

Oder speziell bei PHP wäre da vielleicht Smarty zu nennen:
http://de.wikipedia.org/wiki/Smarty
http://www.smarty.net/

--
Mit freundlichen GrüÃen,
Christoph Herrmann

http://dragonprojects.de/

Report this message

#5: Re: Anfängerfrage:welcher PHP Aufruf istbesser?

Posted on 2008-04-16 14:56:28 by Hans-Werner Hilse

Moin,

Samuel Suther wrote:

> Wenn du absolut lesbaren HTML-Code ohne einschr=E4nkungen von " und '
> nutzen wills, informier dich auch mal =FCber EOF.

richtiger: =BBHeredocs=AB. EOF (eigtl. wohl =BBend of file=AB) wird manchmal
als heredoc-identifier genommen. Muss aber nicht. Die
PHP-Online-Dokumentation verwendet z.B. =BBEOD=AB (end of document?).

Innerhalb von Heredocs gelten die selben Regeln (mal abgesehen vom
Escaping von Doublequotes) wie in Doublequote-Strings.

Seit PHP 5.3.0 gibt es auch Nowdocs, die sich eher wie
Singlequote-Strings verhalten. Steht aber alles in der Doku, vgl.
http://www.php.net/manual/en/language.types.string.php#langu age.types.strin=
g.syntax.heredoc

-hwh

Report this message

#6: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 14:58:51 by Gregor Kofler

Samuel Suther meinte:

> Wenn du absolut lesbaren HTML-Code ohne einschränkungen von " und ' nutzen
> wills, informier dich auch mal über EOF.

[snip]

Das hat nichts mit "EOF" zu tun (es kann eine quasi-beliebige
Zeichenkette sein), es handelt sich um den sog. heredoc-Syntax. Damit
findet man ihn auch im Handbuch oder Suchmaschinen.

Gregor


--
http://photo.gregorkofler.at ::: Landschafts- und Reisefotografie
http://web.gregorkofler.com ::: meine JS-Spielwiese
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Report this message

#7: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 16:04:56 by Niels Braczek

Michael Weis schrieb:

> Die erstere Variante f=E4nde ich =FCbersichtlicher, was die html und cs=
s=20
> Syntax angeht, das Syntax highlighting meines Editors ist da sch=F6ner.=


Das ist Grund genug, diese Variante zu w=E4hlen. Wenn man die
PHP-Statements auf reine echo()s und vielleicht die eine oder andere
grundlegende String-Funktion beschr=E4nkt (eine Frage der Disziplin),
reicht das v=F6llig, um der Forderung nach Trennung von Code und Layout
nachzukommen. Die Aufgabe von speziellen Template-Engines ist es
letztlich, die Disziplin zu erzwingen.

> Stimmt es denn, das im ersten Fall pro PHP Aufruf ein eigener Proze=DF =

> gestartet wird, d.h. die Verarbeitung ja sehr suboptimal w=E4re?

Nein.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Report this message

#8: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-16 20:49:29 by Huber Hans

Christoph Herrmann schrieb:
> Michael Müller schrieb:
>> Der Apache reicht die Datei an den PHP-Interpret weiter, der schaut
>> sich durch was in der Datei an PHP-Befehlen auszuführen ist, führt
>> diese aus, und reicht das Ergebnis dann an Apache zurück. Also nichts
>> mit mehreren PHP-Prozessen.
>
> Ist es nicht so, dass der Apache die komplette Datei an den Interpreter
> weiterleitet sobald diese eine entsprechende Dateiendung hat?

Ja

>
> Jeder Seitenaufruf ist dabei soweit ich weià ein eigener Prozess.

Ja/Nein: http://www.php-faq.de/q/q-php-cgi-vs-modul.html

Gruà Hans

Report this message

#9: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-17 00:05:49 by Martin Lemke

Michael Weis schrieb:

> Die erstere Variante fände ich übersichtlicher

sprintf('<td rowspan="2" class="oben">
<div align="left"><img border="0" src="../../pics%s.jpg"></div>
</td>',$result['name_file']);

Noch besser ist es, eine möglichst vollständige Trennung von Code un html
anzusterben, indem man eine Template-Engine verwendet. Z. B. Smarty.

MVC und so'n Zeugs finde ich zu inperformant.

Martin

Report this message

#10: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-17 00:19:21 by Christoph Herrmann

Martin Lemke schrieb:
> Noch besser ist es, eine möglichst vollständige Trennung von Code un html
> anzusterben, indem man eine Template-Engine verwendet. Z. B. Smarty.

Ohne ist es performanter um es in deinen Worten auszudrücken...

Im übrigen ist eine Template-Engine eine Art MVC einzusetzen, da dadurch
die Steuerung und Logik von der Ausgabe trennst.

> MVC und so'n Zeugs finde ich zu inperformant.

Warum nutzt du dann PHP? Das ist im Vergleich zu C++ in der Regel auch
inperformant, wenn das deine einzige Sorge ist?

In der Regel sollte man die verwendeten Techniken seinen Bedürfnissen
anpassen. Sollte sich die Ausgabe unabhängig der Steuerung und der Daten
ändern können oder voneinander der Ãbersichtlichkeit halber und zur
Wartung getrennt sein macht MVC sehr wohl Sinn, weswegen die meisten
Frameworks auch nach diesem Prinzip umgesetzt sind.

--
Mit freundlichen GrüÃen,
Christoph Herrmann

http://dragonprojects.de/

Report this message

#11: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-17 09:35:57 by Michael Weis

Huber Hans wrote at 16.04.2008 20:49
>> Jeder Seitenaufruf ist dabei soweit ich weià ein eigener Prozess.
>
> Ja/Nein: http://www.php-faq.de/q/q-php-cgi-vs-modul.html
>
> Gruà Hans

Hier ging es in meinem OP aber um CGI, also in diesem Falle: ja

Danke aber allen, ich habe jetzt (mehr) Klarheit.

GruÃ,

Michael

Report this message

#12: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-17 10:23:06 by benjamin radtke

Martin Lemke schrieb:
> MVC und so'n Zeugs finde ich zu inperformant.
>
Sorry, aber das ist völliger Quatsch. Das klingt eher danach, als
hättest du dich mit dem Thema noch nie groà beschäftigt.

MfG Benny

Report this message

#13: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-19 00:01:04 by Martin Lemke

benjamin radtke schrieb:

>> MVC und so'n Zeugs finde ich zu inperformant.
>>
> Sorry, aber das ist völliger Quatsch.

Ich schrieb nicht, das sei per se inperformant, sondern, dass ich es so
empfinge (bei den mir verfügbaren Ressourcen). Das kannst Du nicht als
Quatsch bezeichnen, denn was ich empfinde kann ich besser beurteilen als
Du.

> Das klingt eher danach, als
> hättest du dich mit dem Thema noch nie groà beschäftigt.

Ich habe es ausprobiert. Es gibt Gründe, die dafür sprechen, aber, und das
ist nicht zu leugnen, solche, die dagegen sprechen. Das kommt auch auf die
Ressourcen an, die man zur Verfügung hat.

Wenn Du Dir den Webserver mit anderen Kunden teilen musst, sind die
Vorzeichen andere als wenn Du alleinherrscher der Maschine bist.

Martin

Report this message

#14: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-19 00:07:25 by Martin Lemke

Christoph Herrmann schrieb:

> Warum nutzt du dann PHP? Das ist im Vergleich zu C++ in der Regel auch
> inperformant, wenn das deine einzige Sorge ist?

Da gebe ich Dir Recht. Ich habe auch schon Ãberlegungen abgestellt, ob ich
das eine oder andere Skript nicht in einer Compilersprache inplementieren
sollte.

PHP ist aber für Webzecke die optimale Pattform.

> [...] macht MVC sehr wohl Sinn

Das will ich gar nicht leugnen. Natürlich sind MVC-Implementationen keine
rein theoretischen Informatikerspielzeuge. Man kann damit produktiv etwas
anfangen.

> weswegen die meisten
> Frameworks auch nach diesem Prinzip umgesetzt sind.

Auch in dem von mir favorisierten Zendframework.

Martin

Report this message

#15: Re: Anfängerfrage: welcher PHP Aufruf ist besser?

Posted on 2008-04-21 10:09:40 by benjamin radtke

Martin Lemke schrieb:
> benjamin radtke schrieb:
>
>>> MVC und so'n Zeugs finde ich zu inperformant.
>>>
>> Sorry, aber das ist völliger Quatsch.
>
> Ich schrieb nicht, das sei per se inperformant, sondern, dass ich es so
> empfinge (bei den mir verfügbaren Ressourcen). Das kannst Du nicht als
> Quatsch bezeichnen, denn was ich empfinde kann ich besser beurteilen als
> Du.
>
Das will ich nicht bestreiten. =)
>> Das klingt eher danach, als
>> hättest du dich mit dem Thema noch nie groà beschäftigt.
>
> Ich habe es ausprobiert. Es gibt Gründe, die dafür sprechen, aber, und das
> ist nicht zu leugnen, solche, die dagegen sprechen. Das kommt auch auf die
> Ressourcen an, die man zur Verfügung hat.
>
Es gibt leider viele, welche MVC nur aus den bekannten Frameworks (wie
zum Beispiel Zend) kennen. Die dortige Implementierung ist sicher nicht
die schnellste, aber dafür umso komplexer, versehen mit vielen mehr oder
weniger nütlichen Features. MVC an sich ist aber nicht zwingend eine
Performancebremse, da dieses Pattern auch sehr schmal umgesetzt werden kann.
> Wenn Du Dir den Webserver mit anderen Kunden teilen musst, sind die
> Vorzeichen andere als wenn Du alleinherrscher der Maschine bist.
>
Das Problem kenn ich durchaus.. ;-)
> Martin

GruÃ,
Benny

Report this message