PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suchengine - vts|Search


Isocrateus
30.05.2008, 17:57:44
Hallo,
ich habe eine (bislang) noch etwas unkompliziertes Suchscript geschrieben und suche erfahrenere Programmierer, die mir zu dem Werk etwas Feedback geben können und wollen. Zu finden ist das Script in seiner ersten funktionsfähigen Version auf dieser Website (http://www.suchscript.com/).

Ich danke allen,
die sich mal kurz damit befassen wollen,
bereits im Vorraus!

feuervogel
31.05.2008, 10:49:16
html hartkodiert im php-quelltext, sprachabhängige code-stellen (//search again for german umlaute) und ein pseudo-template-gefrickel. also ich würde das nicht in meine seite integrieren...

Area51
31.05.2008, 11:06:49
Code gefällt mir nicht so dolle, zu wenig kommentiert und ein Mischmasch aus Deutsch und Englisch.
Und einige Kommentare sind viel zu lang


/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< search (end) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */

Isocrateus
31.05.2008, 13:44:54
Also ich geb ja zu, kein Profi zu sein... Mit hartkodiertem HTML meinst Du Stellen, wie z.B. if ($i != $page) $navigation .= '<span class="navi_seiten"><a href="?page='.$i.'&keyword='.$keyword.'">'.$i.'</a></span>&nbsp;&nbsp;';
else $navigation .= '<span class="navi_seiten">'.$i.'</span>&nbsp;&nbsp;';
? D.h. es ist Deiner Meinung nach am besten, dererlei Sachen auch in Templates einzusetzen?
Diese "Sprachabhängigen Stellen" ergeben sich zwangsläufig, da das Script bei der Suche Unterschiede zwischen den Ergebnissen "Goethe" und "Göthe" für das Suchwort "Göthe" macht.
Das Templategefrickel ist in welcher Hinsicht pseudo? Natürlich sind es relativ viele Templates für vergleichsweise wenige Codeschnipsel..

Der Deutsch-Englisch-Mischmasch in einigen Variablennamen rührt noch von einer vorigen Version, die komplett in Deutsch kommentiert und geschrieben war.

Ansonsten vielen Dank für Eure Kommentare, ich lerne gerne dazu und freue, mich wenn Ihr das eine oder andere vllt nochmal ein bisschen präzesieren würdet und den einen oder anderen Vorschlag machen :-)

Mehr Professionalität kann einem Script nie schaden :-D

feuervogel
31.05.2008, 13:55:13
Also ich geb ja zu, kein Profi zu sein... Mit hartkodiertem HTML meinst Du Stellen, wie z.B. if ($i != $page) $navigation .= '<span class="navi_seiten"><a href="?page='.$i.'&keyword='.$keyword.'">'.$i.'</a></span>&nbsp;&nbsp;';
else $navigation .= '<span class="navi_seiten">'.$i.'</span>&nbsp;&nbsp;';
? D.h. es ist Deiner Meinung nach am besten, dererlei Sachen auch in Templates einzusetzen?


ja. es widerspricht sich, einerseits templates zu nutzen und andererseits sowas im php stehen zu haben.


Diese "Sprachabhängigen Stellen" ergeben sich zwangsläufig, da das Script bei der Suche Unterschiede zwischen den Ergebnissen "Goethe" und "Göthe" für das Suchwort "Göthe" macht.


Aha. Keine Ahnung, was Du meinst.

Das Templategefrickel ist in welcher Hinsicht pseudo?

Andersrum gefragt: Welche (angesehene und weit verbreitete) Template-Engine nutzt Du?

Isocrateus
31.05.2008, 14:12:33
Okay, werde mal zusehen, dass HTML aus dem PHP-Quellcode verschwindet.

Die Sache mit der Sprachabhängigkeit ist insofern nicht gegeben, als dass der Englischsprachige Nutzer ohnehin keine Umlaute verwendet und diese Quelltextstelle weder Fehler (natürlich auch keine Vorteile) mit sich bringt..

Die "Template-Engine" ist zugegebener Maßen eine Eigenkreation. Aber danke für das Stichwort, werde mich mit dem Thema mal eingehender befassen. Die eine oder andere 'angesehene' Engine habe ich dann auch schonmal gefunden. Welche unter den Zig wäre Denn Deiner/Eurer Meinung nach bei einem Projekt dieser Größenordnung sinnvoll?

feuervogel
31.05.2008, 14:21:38
soweit ich weiß ist smarty immer noch der standard.

Area51
31.05.2008, 19:26:25
Nicht nur Standard, sondern meiner Meinung nach die beste :-)
Einfach installiert, einfach anzuwenden.

Opendix
31.05.2008, 20:04:12
Nicht nur Standard, sondern meiner Meinung nach die beste :-)
Einfach installiert, einfach anzuwenden.

Gut dokumentiert, einfach zu erweitern, sehr stabil, einfach zu konfigurieren, ... :)
Ich finde smarty cool *g*

Area51
31.05.2008, 20:17:12
Wobei ich persönlich einige PlugIns für Überflüssig halte, da sich die selbe Funktion mit PHP selbst erzeugen lässt ;)

Opendix
31.05.2008, 20:55:59
Wobei ich persönlich einige PlugIns für Überflüssig halte, da sich die selbe Funktion mit PHP selbst erzeugen lässt ;)

Na dann kannst du diese ja löschen ;)

Im übrigen kannst du alles selbst mit PHP bewerkstelligen :P
Die meisten Plugins sind einfach hilfreich beim erstellen von Templates...

Area51
01.06.2008, 08:58:46
Du missverstehst mich!
Ich meinte mit meiner Aussage, dass sich die meistens Dinge mit PHP realisieren lassen und anschließend über $smarty -> assign (); ins Template übertragen lassen ;)

feuervogel
01.06.2008, 11:55:17
Du missverstehst mich!
Ich meinte mit meiner Aussage, dass sich die meistens Dinge mit PHP realisieren lassen und anschließend über $smarty -> assign (); ins Template übertragen lassen ;)

Eine Template-Engine dient m.E. v.a. dazu, Programmier- von Ausgabelogik zu trennen. Und genau das machst Du durch so eine Vorgehensweise nicht.

Socrates
01.06.2008, 13:19:46
Eigentlich sollte es so sein, dass du die Ausgabe eines PHP-Scripots in das Template einfügst, also HTML-Code, und nicht den gesammten PHP-Code. Das macht garkeinen Sinn. Deshalb puffern viele die Ausgabe und fügen dann den Inhalt, also die HTML-Rückgabe in das Template ein. Wobei ich nicht wirklich viel von Smarty und solchen Dingen halte, da ich es hasse, wenn in meinen Templates Pseudo-Schleifen und so ein Dreck steht.
MfG, Andy

//EDIT: Mir ist gerade eingefallen, dass es da mal eine sehr schöne Diskussion (http://www.der-webdesigner.net/forum/php-f12/templateengine-t7123.html) zu gab. Vielleicht ist ja der eine oder andere interessiert. Hoffe der Link stört nicht.

Opendix
01.06.2008, 14:43:13
Pseudo-Schleifen und so ein Dreck steht


Na wie gibst den du ein Array in einem Template aus?

Socrates
01.06.2008, 16:34:36
Beispiel. Ich hole Navigationselemente in einer Schleife aus einer Datenbank und speichere die Ausgabe in einen String. Nun instanziere ich die TemplateEngine. Lade das Template und weiße diesen String seinem Platzhalter (bei mir {$navi}) zu. Dadurch vermeide ich diese Pseudo-Schleifen in meinen Templates. Das ist aber tatsächlich nur in kleinen Projekten sinnvoll. Allerdings macht es für mich auch keinen Sinn eine TemplateEngine zu benutzen, wenn ich an Stelle von richtigen PHP-Schleifen mein Template mit Pseudo-Code zumülle. Das macht auch für den Designer keinen Unterschied und da kann ich auch gleich auf die Template-Eigenschaften von PHP zurückgreifen.
MfG, Andy

feuervogel
01.06.2008, 17:40:50
Beispiel. Ich hole Navigationselemente in einer Schleife aus einer Datenbank und speichere die Ausgabe in einen String. Nun instanziere ich die TemplateEngine. Lade das Template und weiße diesen String seinem Platzhalter (bei mir {$navi}) zu. Dadurch vermeide ich diese Pseudo-Schleifen in meinen Templates. Das ist aber tatsächlich nur in kleinen Projekten sinnvoll. Allerdings macht es für mich auch keinen Sinn eine TemplateEngine zu benutzen, wenn ich an Stelle von richtigen PHP-Schleifen mein Template mit Pseudo-Code zumülle. Das macht auch für den Designer keinen Unterschied und da kann ich auch gleich auf die Template-Eigenschaften von PHP zurückgreifen.
MfG, Andy

Dies sei jetzt bitte der letzte Eintrag zum Thema Template-Engines in diesem Thread, denn sonst wird das total OT und nimmt gar kein Ende mehr.