Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
TPL-Klasse [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
TPL-Klasse


 
Blackgreetz
17-08-2007, 23:36 
 
Hallo,

ich wurde öfter wieder gefragt, wann ich mir selbe eine HP mache.
Da kam mir gleich die Idee, das Ganze vlt mit einem CMS zusammen zu entwickeln. Also das CMS für die kleine Seite selber zu schreiben (Man(n) hat ja sonst nichts zu tun).
Dabei sollte man ja sinnvoller Weise auf Templates setzen, wenn man es auch für andere freigeben will.

Nun die Frage:
Lohnt es sich eine kleine eigene Klasse zu schreiben, die nur z.B.: {Var} ersetzt, {includeTPL / includePHP} noch andere Datein bzw. ein kleines externes Script einbindet und das Ganze dann ausgibt, oder sollte man(bzw. ich) einfach auf Smarty setzen?

Ich hab gehört, dass Smarty für kleine Seiten/Anwendungen überfüllt ist, habe allerdings selber noch nicht mit gearbeitet.

mfg
ps: Wusste nicht genau ob hier hin, oder Entwicklungsumgebung..?

 
vukodlac
17-08-2007, 23:44 
 
Also ich persönlich halte nix von Smarty! Das erzeugt mir einfach zuviel overhead und es ist noch ne Schicht mehr die eigentlich sinnlos ist.

Stell Dir doch einfach die Frage wozu eine Templateengine?

Was muss die können ?

Warum das nicht gleich mit php lösen?

Denn php ist selbst ne Templateengine!

Und nun werde ich wie in andern Foren auch eines besseren belehrt :).

 
TobiaZ
17-08-2007, 23:45 
 
Nun, ein erster schritt wäre, dich erstmal über die verschiedenen Engines zu informieren.

Generell halte ich die Programmierung einer eigenen Klasse für noch überflüssiger als die Programmierung eines eigenen WebCMS. Aber gut, zum lernen, kann mans machen und Beispiele gibts im Netz sooo viele, dass du sicher nichtmal aktiv im Forum posten musst. ;)

Aber sei dir darüber im klaren, du wirst das Rad neu erfinden. Würdest du das im Straßenverkehr auch machen?

(Man(n) hat ja sonst nichts zu tun) ;)

 
Blackgreetz
17-08-2007, 23:54 
 
Original geschrieben von TobiaZ
Aber sei dir darüber im klaren, du wirst das Rad neu erfinden. Würdest du das im Straßenverkehr auch machen?
;)

Auch die Leute von Continental und ... öhm.. ka wie die Firma hieß >.< haben das Rad zwar nicht grundlegen, aber doch immer wieder neu erfunden :). Like: Räder, die keine Luft verlieren, oder welche, die nur so aussehen und vlt doch keinen richtigen Luftdrück besitzen :) ... aber anderes Thema.
Ich persöhnlich müsste erstmal alt genug werden um für den Straßenverkehr ..zumindest mit dem Auto.. zugelassen zu werden ;).

Zum Thema "Lernen": Natürlich möchte ich mir dadurch auch OOP im Bereich PHP näher bringen bzw. spezieller PHP 5, da die genauere Defi. ich meist aus Java gewohnt bin :).

Natürlich wäre es auch von Vorteil, wenn ich z.B.: Smarty nutzen würde um damit den Umgang zu üben.

Nebenbei die Frage:
Gleiches Thema -> PDO nutzen oder eine eigene MySQL-Klasse?

Ich hab ja bereits ne MySQL- und TPL-Klasse, allerdings sind die sinnlos programmiert und waren die ersten Klassen, die man sich von php-q.net abgekupfert hat. xD

mfg

 
Click
18-08-2007, 11:38 
 
Also ich habsowohl für Templates als auch für Mysql meine eigenen Klassen geschrieben.
Klarer Vorteil:
Ich kenn mich in dessen Quellcode aus, kann sie nach meinen Wünschen leicht und einfach optimieren, verbessern und ausbauen.
Wenn ein Bug auftritt, weiß ich, dass es meine Schuld ist, und finde den auch schneller als in einer mir unbekannten Klasse.

 
ghostgambler
18-08-2007, 11:51 
 
Templates sind unnütz~
PDO ist unnütz~
mysqli-Klasse erweitern und gut ist
*meine 2 Pence*

 
Click
18-08-2007, 12:02 
 
Original geschrieben von ghostgambler
Templates sind unnütz~
PDO ist unnütz~
Warum?

 
TobiaZ
18-08-2007, 12:13 
 
was die templates angeht, so denke ich generell ähnlich, da er aber seine Seite "auch für andere freigeben will", ist das so eine Sache.

Aber natürlich ist auch diese Diskussion nicht neu. ;)

 
Blackgreetz
18-08-2007, 12:14 
 
Original geschrieben von ghostgambler
mysqli-Klasse erweitern und gut ist

Warum gerade Mysql>i<-Klasse? Oo
Wenn du z.b. mal ein vorgefertiges System nutzen willst...willst du dann jede Seite ändern im PHP-Quelltext? Zuviel Zeit hast du aber auch nicht oder? -g-

mfg

 
ghostgambler
18-08-2007, 12:44 
 
Original geschrieben von Click
Warum?
PHP ist eine Template-Engine - durch durchdachtes OOP kriegt man ohne aufwändige Template-Engines auch eine gute Trennung von Design und Struktur hin.
PDO ist in sofern unnütz, als praktisch alle Applikationen sowieso niemals von MySQL abweichen werden - und wenn wohl aus einem besonderen Vorteil den das andere DBMS bietet, sodass der Code so oder so geändert werden muss.

Mal abgesehen davon, dass eine Applikation, die unter MySQL läuft nur dann vernünftig läuft, wenn man die gegebenen Möglichkeiten vernünftig umsetzt - und dafür muss man den Standard sowieso verlassen~


Original geschrieben von Blackgreetz
Warum gerade Mysql>i<-Klasse? Oo
Weil es mMn keinen Sinn macht auf die veralteten mysql-Libs zu setzen, wenn es mittlerweile die neuen Versionen dafür gibt?
Weil man die mysqli-Klasse einfach mit PHP-Klassen erweitern kann und so ohne große Probleme die komplette Funktionalität mit einem Singleton koppeln kann?

Wenn du z.b. mal ein vorgefertiges System nutzen willst...willst du dann jede Seite ändern im PHP-Quelltext? Zuviel Zeit hast du aber auch nicht oder? -g-
Ich versteh nicht was du meinst~

 
tontechniker
18-08-2007, 12:48 
 
Wenn du z.b. mal ein vorgefertiges System nutzen willst...willst du dann jede Seite ändern im PHP-Quelltext? Was meinst du damit? PDO ist in sofern unnütz, als praktisch alle Applikationen sowieso niemals von MySQL abweichen werden - und wenn wohl aus einem besonderen Vorteil den das andere DBMS bietet, sodass der Code so oder so geändert werden muss. Bei PDO geht es ja nicht nur darum den Datenbank Treiber auswechselbar zu machen (in diesem Fall hast du recht, in den meisten Fällen wird man noch Querys ändern müssen), sondern auch darum das PDO wesentlich besser in die PHP Datenstrukturen eingebunden ist und auch schneller auf große Ergebnismengen zugreifen kann.

 
Blackgreetz
18-08-2007, 18:01 
 
Wenn du z.b. mal ein vorgefertiges System nutzen willst...willst du dann jede Seite ändern im PHP-Quelltext?


Sry ... hatte wohl wieder zu schnell weitergedacht.
Ich meinte damit folgendes:
Wenn man nicht auf Tpl setzt, muss man ja den Quelltext mit PHP ausgeben... z.B.: bei einem Newseintrag:

echo "<div class=\"news_head\">&nbsp;".$row['titel']." von
".$row['autor']." am ".$news_wann." - N: ".$row['ID']." - <a
href=\"?".$_SERVER['QUERY_STRING']."".$and."newsid=".$row['ID']."\">".$kommentare."
Kommentare </a> </div>\n";
echo "<div
class=\"news_text\">&nbsp;".$row['nachricht']."</div>\n";
echo "<br />\n";

Um das Design eines Newseintrages ändern zu wollen, müsstest du die PHP-Datei öffnen, zu dem Scriptteil scrollen bzw. es suchen und dann das ganze auch noch ersetzen.
Ist doch viel arbeits- und zeitaufwendiger als es in einem Template zu haben, oder nicht?

mfg

 
onemorenerd
18-08-2007, 19:09 
 
75 Beiträge und noch nie die Regeln gelesen, Blackgreetz?

Wenn man nicht auf Tpl setzt, muss man ja den Quelltext mit PHP ausgebenJa das muß man, aber das kann auch so aussehen: <div class="news_head">
<?=$row->titel ?> von <?=$row->autor ?> am <?=$row->wann ?>
...
</div>
Mit einer Template-Engine, z.B. Smarty sieht das kaum anders aus:
<div class="news_head">
{$row.titel} von {$row.autor} am {$row.wann}
...
</div>

 
Blackgreetz
18-08-2007, 21:46 
 
Original geschrieben von onemorenerd
75 Beiträge und noch nie die Regeln gelesen, Blackgreetz?

Argh - vergessen :rolleyes: natürlich editiert...
Zu der Ausgabe:
Diese Kurzform da zu nutzen .... muss zugeben, dass ich darauf noch nicht gekommen bin, es allerdings auch in der Form noch nie gesehen hatte. Stattdessen immer nur ganz am Anfan einer Datei oder so ... aber danke dafür. Zur Übung von Klassen und Regex werd ich mir dann wohl trotzdem eine schreiben ..

mfg
ps: sry für da regeln^^


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51 Uhr.