Trotzdem interessieren mich die Unterschiede
zwischen beiden Sprachen. Ich würde mich
nämlich gerne mit einer dieser beiden etwas näher
beschäftigen.
Darum brauche ich ein bisschen Entscheidungshilfe,
von Leuten die mit beiden Sprachen erfahrungen
gesammelt haben.
Nun meine Fragen:
1. Worin liegt der Hauptunterschied zwischen PHP
& CGI?
2. Was kann ich mit PHP (CGI) machen, was ich
mit dem jeweils anderen nicht kann?
3. Welche von beiden Sprachen ist für Newbies leichter zu
erlernen?
4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
so empfehlen?
Vielen Dank
Marco Bohne
>1. Worin liegt der Hauptunterschied zwischen PHP
> & CGI?
Falsche Frage. CGI (Common Gateway Interface) ist ein Standard für die
Interaktion von Programmen mit Webservern. Dieser Schnittstelle bedient
sich auch (CGI-)PHP.
>3. Welche von beiden Sprachen ist für Newbies leichter zu
>erlernen?
Im Vergleich mit Perl? PHP.
>4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
>so empfehlen?
1.13 Welche Bücher gibt es über PHP?
http://koehntopp.de/php/faq-about.html#about-13
--
MfG
Johannes
> Nun meine Fragen:
>
> 1. Worin liegt der Hauptunterschied zwischen PHP
> & CGI?
CGI heisst Common Gateway Interface und regelt nur die kommunikation
zwischen einem auf dem server ausgefuehrten programm und dem client
(browser). es ist egal in welcher programmiersprache du das cgi-programm
schreibst, solange es von stdin lesen und auf stdout schreiben kann. php und
perl sind hier lediglich zwei von vielen programmiersprachen, welche du mit
cgi verwenden kannst.
> 2. Was kann ich mit PHP (CGI) machen, was ich
> mit dem jeweils anderen nicht kann?
cgi ist keine programmiersprache, aber aus dem kontext nehm ich mal an dass
du mit CGI eigentlich Perl meinst.
fuer diskussionen ueber den unterschied zwischen perl und php kannst du
gerne einen der zahlreichen anderen threads in dieser gruppe durchlesen :)
z.b.
http://groups.google.com/groups?hl=de&safe=off&th=c24c48b78bfe2bd,27&start=0
> 3. Welche von beiden Sprachen ist für Newbies leichter zu
> erlernen?
sie sind sich beide sehr aehnlich. ich hab zuerst perl gelernt, fuer php
braucht man dann bloss noch die basic syntax zu lesen und ein paar
funktionsnamen nachzuschlagen..
> 4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
> so empfehlen?
fuer php kenn ich halt keine buecher, fuer perl wuerd ich dir 'Einfuehrung
in Perl' von O'Reilly empfehlen.
http://www.ora.de/catalog/einperlger/
gruss, andy
...zwischen einem auf dem Server ausgefuehrten Programm und dem *Webserver*.
> es ist egal in welcher programmiersprache du das cgi-programm
> schreibst, solange es von stdin lesen und auf stdout schreiben kann.
...und aus dem Environment lesen kann.
> php und
> perl sind hier lediglich zwei von vielen programmiersprachen, welche du mit
> cgi verwenden kannst.
Hmmm... gibt's inzwischen PHP auch als Stand-alone-Sprache? Ich war immer
der Meinung, dass PHP nur in HTML eingebettet funktioniert.
cu,
Martin
--
Martin Vorlaender work: m...@pdv-systeme.de
VMS & WNT Programmierer home: mar...@radiogaga.harz.de
------------------ Eine kurze Geschichte des CGI: ------------------
http://www.pdv-systeme.de/users/martinv/cgi_basics/cgi_basics.html
> > php und
> > perl sind hier lediglich zwei von vielen programmiersprachen, welche du
mit
> > cgi verwenden kannst.
>
> Hmmm... gibt's inzwischen PHP auch als Stand-alone-Sprache? Ich war immer
> der Meinung, dass PHP nur in HTML eingebettet funktioniert.
erste zeile vom installtut 'Servers-CGI/Commandline' unter
http://www.php.net/manual/en/install.commandline.php
| The default is to build PHP as a CGI program. This creates
| a commandline interpreter, which can be used for CGI processing,
| or for non-web-related PHP scripting.
nichtsdestotrotz werd ich bei perl bleiben :)
gruss, andy
Als weiterführende Lektüre ist das Camel Book (
http://www.ora.de/catalog/pperl3ger/index.html ) unumgänglich ..
Viel Spass beim lesen ..
Stephan
zunächst hat PHP nix mit HTML zu tun. man kann beide blos sehr gut
miteinander verwendet. und wenn, daß ist HTML das untergeordnete element.
;-) man kann PHP auch wunderbar für andere sachen als cgi - anwendungen
benutzen.. wobei ich perl oder python zunächst mal vorziehen würde.....
tim
Und hab ich recht verstanden, dass sich PHP
in HTML einbetten lässt wie z.b. JS und ich mit
CGI oder PHP das selbe realisieren kann?
Vielen Dank nochmal
Marco
HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
dich entscheidest.
> Und hab ich recht verstanden, dass sich PHP
> in HTML einbetten lässt wie z.b. JS
mal drei beispiele, 1. js, 2. php, 3. perl:
<html><body>
<script language="JavaScript">
document.write(var)
</script>
</body></html>
<html><body>
<?php
echo $var;
?>
</body></html>
print <<EOHT;
<html><body>
$var
</body></html>
EOHT
alle drei lassen sich ``in html einbetten'', kommt ganz auf die
flexibilitaet dieses begriffs an
> und ich mit CGI oder PHP das selbe realisieren kann?
ich nehm hier wieder an dass du mit CGI eigentlich perl meinst :)
du kannst mit beiden weitgehend dasselbe realisieren, (und auf die gefahr
hin von php'ler gekoepft zu werden) find ich laesst dir perl mehr freiheit
darueber wie du's tun willst.
gruss, andy
> HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
> dich entscheidest.
Nein, mithilfe von CGI.pm komme ich ohne HTML-Kenntnisse aus,
andere Sprachen haben ähnliche Libraries oder Module.
> mal drei beispiele, 1. js, 2. php, 3. perl:
>
> <html><body>
> <script language="JavaScript">
> document.write(var)
> </script>
> </body></html>
>
> <html><body>
> <?php
> echo $var;
> ?>
> </body></html>
>
> print <<EOHT;
> <html><body>
> $var
> </body></html>
> EOHT
4. java, 5. nochmal perl, 6. nochmal java
<html><body>
<%= var %>
</body></html>
<html><body>
<? print $var; !>
</body></html>
w.println("<html><body>" + var + "</body></html>");
oder so ähnlich.
> alle drei lassen sich ``in html einbetten'', kommt ganz auf die
> flexibilitaet dieses begriffs an
Und alles "einbetten" ist für die Wahl der Implementationssprache
egal, man kann HTML in (fast) jeder Sprache zusammenbauen, und
(fast) jede Sprache in HTML einbetten, von wegen der Flexibilität
des Begriffs ;)
bis dann,
philipp
--
Trotzdem vielen Dank für eure Mühe.
Marco
> HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
> dich entscheidest.
Nein mithilfe von CGI.pm komme ich ohne HTML-Kenntnisse aus,
andere Sprachen haben ähnliche Libraries oder Module.
> mal drei beispiele, 1. js, 2. php, 3. perl:
>
> <html><body>
> <script language="JavaScript">
> document.write(var)
> </script>
> </body></html>
>
> <html><body>
> <?php
> echo $var;
> ?>
> </body></html>
>
> print <<EOHT;
> <html><body>
> $var
> </body></html>
> EOHT
4. java, 5. nochmal perl
<html><body>
<%= var %>
</body></html>
<html><body>
<? print $var; !>
</body></html>
oder so ähnlich.
> alle drei lassen sich ``in html einbetten'', kommt ganz auf die
> flexibilitaet dieses begriffs an
Und alles "einbetten" ist für die Wahl der Implementationssprache
egal, HTML kann man in (fast) jeder Sprache zusammenbauen ;)
bis dann,
philipp
--
MfG
Mark
"Marco Bohne" <webm...@marco-bohne.de> schrieb im Newsbeitrag
news:3b803...@news.arcor-ip.de...
>ich finde auch übersichtlicher.
Da du es ja uebersichtlich magst:
1.20 Was ist TOFU? Wieso finden die Anderen meine Artikel schwer
zu lesen?
http://koehntopp.de/php/faq-about.html#about-20
>(meines wissens?) nicht ausführt.
Das ist falsch. Unsaubere Programmierung und nicht verifzierte
Eingaben koennen in PHP Scripten aehnliche Sicherheitsloecher
aufreissen wie in Perl. Das ist uebrigens von der verwendeten
Sprache unabhaengig.
das ist nicht richtig. dank der wesentlich schnelleren und auch sonst
besseren regexp - maschine von perl kannst du mit perl wesentlich effektiver
mit templates oder includes arbeiten. richtig ist, daß der umgang mit
datenbanken mit php zunächst einfacher ist... doch kann man mit perl + DBI
irgendwie mehr draus machen ;-)
> Außerdem hab ich das Gefühl das es Sicherer ist, da es solche Exploits
bzw
> "Hacker-Tricks" wie irgenwelche rm* Befehle bei einer "POST-Eingabe"
> (meines wissens?) nicht ausführt.
sowas kann man abfangen.... ;-)
grüße,
tim
"Mark Meier" <m...@uni.de> schrieb:
> Mit include kann man auch schnell ganze HTML Passagen einbetten, in
> perl kenn ich das nur Zeilenweise mit dem echo Befehl.
huch? Schon wieder ein neues perl?
Meines kennt noch gar kein "echo". Dafuer scheinen bei Deinem (dem
neuen) HERE-Docs abgeschafft worden zu sein, und HTML::Template und was
es sonst noch alles so gibt scheint es auch nicht mehr zu geben...
> Außerdem hab ich das Gefühl das es Sicherer ist, da es
> solche Exploits bzw "Hacker-Tricks" wie irgenwelche rm* Befehle
> bei einer "POST-Eingabe" (meines wissens?) nicht ausführt.
Naja, das liegt aber nicht am Common Gateway Interface, sondern eher an
schlechtem Code. Aber da ist jeder selber schuld, der sowas
programmiert. Eine Usereingabe (egal ob ueber CGI oder allgemein auch
von der Konsole) gehoert nicht in ein system(), exec(), qx//, Backticks
und was es sonst noch so in diese Richtung gibt...
...zumindest nicht, bevor man "perlsec" gelesen und verstanden hat.
> Bin mir natürlich nicht ganz Sicher, zähle mich selbst zu den
> Newbies :-).
Jetzt wo Du es sagst...
Nix fuer ungut,
Dennis
--
Voll replyfaehige eMailadresse. Wird aber aus Spamvermeidungsgruenden
in unregelmaessigen Abstaenden verworfen. Private Adresse oder PGP-Key
auf Anfrage.