??? Mijn argument is dat ik iets moet leren, waarbij ik de kueze heb uit een aantal dingen. Ik leer dan liever iets wat ik voor andere projecten ook kan gebruiken. Ik heb dan de keuze uit een TBS-taal of PHP. Met TBS kan ik alleen gebruiken voor jouw code en nergens anders (aangezien elke programmeur weer zijn eigen template-taal heeft). PHP is bij elke (PHP)programmeur hetzelfde, dus kan ik dit elke keer toepassen.
En als ik kijk naar wie templates aanpassen (designer of de webbeheerder) dan vind ik als bedrijf het juist een voordeel dat deze mensen een beetje PHP kennen\leren.
Een ander voorbeeld is XSLT ipv TBS. Als ik XSLT leer, dan kan ik dit ook bij andere projecten toepassen (eigenlijk is XSLT dan nog beter dan PHP, omdat ik deze kennis overal kan inzetten).
Verwijderd schreef op 08 juni 2004 @ 21:08:
2: Die SQL string gaat gewoon letterlijk naar je zelf gedefineerde mysql (of andere ondersteunde systemen) toe, en dat mag zelfs een db object zijn... Er gebeurd vrij weinig mee, tbs probeert de string niet te begrijpen...
Ja, dus de DataAccesLayer is gemixt met je PresentatieLayer.
Waarom zit er een DbConnection(Object) in je TemplateObject? Waarom stuurt een TemplateObject een SQLstring naar een DBConnection(Object)? Dit is niet de taak van een TemplateObject!
Als TBS beter ontworpen was dan had het bijv. een Iterator interface meegeleverd, waarbij de code zoiets zo worden:
code:
1
2
3
4
5
6
7
8
9
| // layer1
$DbConnection =& new MySqlConnection('user', 'password');
$DbConnection->connect('db', 'table');
$ResultSet = & $DbConnection->query('SELECT some, stuff FROM myTable');
//Layer2
$ResultsetIterator =& new ResultsetIterator($Resultset);
//layer3
$TBS =& new clsTinyButStrong;
$TBS->MergeBlock('rows', $ResultsetIterator); |
En met arrays heb ik ook geen probleem (al zou ik zelf dan een ArrayIterator gebruiken), maar het feit dat TBS een SQLstring en DBConnection gebruikt is een kenmerk van een slecht ontwerp.
Verwijderd schreef op 08 juni 2004 @ 21:08:
3: Ik kan ook lopend naar mn werk toe, maar de trein is net wat fijner als het regend, bovendien is het 45 km lopen... Dus wat bedoel je nou? [...]
Je punt mist mij omdat hier juist de discussie over gaat en om dan je standpunt als argument te gebruiken??
Verwijderd schreef op 08 juni 2004 @ 21:48:
RémyvD zegt dat php het ook kan. Dat is niet wat je noemt het argument der argumenten

bovendien is mijn argument dat meer wegen naar Rome leiden en dat je zelf ook altijd kiest voor wat het makkelijkste of beste is,
Ik sluit mij hier betreft aan bij Shadowman. De vergelijking lopen vs. trein is in geen verhouding tot php vs. template-engine.
Als ik zeg dat ik met PHP hetzelfde kan bereiken, dan dien je dus over zeer goede argumenten te beschikken om een extra laag te creeeren! Ik heb de keuze uit een templates gebaseerd op native PHP (de PHP-engine als parser gebruikt!) of bijv. TBS die zijn templates parst met een eigen geschreven template-engine (boven op PHP)!
Geef mij dan goede argumenten om bijv. TBS te gebruiken! Je geeft mij argumenten en dan zeg ik vervolgens:'dat kan ook in PHP', dus is het geen goed argument. Alleen dat je iets mooier vindt (of denkt dat dit mooier is voor een designer), is geen goed argument, aangezien dit vrij persoonlijk is (en ik betwijfel of een designer PHP-tags 'eng' vindt.
Het enige argument wat een reden is om een template-engine met custom-tags te gebruiken is de echte gedwongen scheiding tussen je PresentatieLayer en BusinessLayer (echter TBS is gefaald hierin door bovenstaande uitleg)
Zal ik je ook even nadelen geven om PHP-tags te gebruiken (handje helpen kan geen kwaad

)?
- het vraagt om disipline om niet ander functies van PHP te gebruiken (als hierop niet wordt gecontroleerd). Je kan dan in de verleiding raken om je PresentationLayer met je BusinessLayer te mixen;
- het is niet valid HTML (maar dat is met custom-tags ook niet zo, dus niet echt een nadeel);
- als ik of het bedrijf besluit een andere server-side technologie te gebruiken, dan zijn mijn PHP-templates, waardeloos.
Wat is dit nou voor argument??? De voordelen van OO zijn makkelijk te benoemen (in tegenstelling tot een template-engine...). En ik beschouw OO gewoon als native PHP (het wordt toch door PHP-engine geparsed?) Ook beschouw ik Objecten niet als simpele functionwrappers....
Verwijderd schreef op 08 juni 2004 @ 21:08:
A: Dus je hebt de manual er bij gepakt, je hebt gelezen wat block=tr doet, en nu weet je het, de volgende keer snap je het zonder manual... Zo veel meer hoef je voor tbs niet te leren. En hoe precies heb je PHP gelee... hey, weer dat woord

[/qoute]
[...]
Ach, je zegt dat je jouw code overzichtelijk vindt op basis van het feit dat je PHP al geleerd hebt, terwijl TBS juist overzichtelijker is, gebaseerd op het oogpunt van "rotzooi" rond je html code...
Ik vind het overzichtelijk, omdat ik de PHP-template leesbaar is, ondanks dat ik niet de syntax van PHP ken: Het is gewoon duidelijk leesbaar Engels. Óók vind ik het logischer als ik iets loop, dat ik dit zich in een loop-tag bevindt, ipv dat die dingen om de loop-tag heen zitten (maar dit vind jij weer overzichterlijker, dus is ook een persoonlijke mening).
Verwijderd schreef op 08 juni 2004 @ 21:48:
maar heb je (of RémyvD) tbs (en niet een andere engine) al eens gebruikt? zo nee, dan weet je ook niet hoeveel makkelijker het is en hoe snel je went aan de syntax (want alle begin is lastig geef ik toe;))
Alle templatesystemen lijken allemaal op elkaar (en ik heb er verscheidene gebruikt). Ik zie in TBS niet zoveel verschil met andere templates (eerder redenen om het juist niet te gebruiken).
Nog zoiets, ik vind dat een navigatiebalk niet in de core templateClass hoort. Misschien als extra Class erbij.
Verwijderd schreef op 08 juni 2004 @ 22:24:
"PHP is vooral bedoeld als server-side scripting taal" staat op de volgende pagina, en ik zie hier dan eigenlijk weer nergens staan dat het voor HTML bedoelt is (want ook al zei ik net 'natuurlijk wel' eigenlijk is het totaal niet HTML gebonden), en er staat gewoon dat je er server side code mee kunt uitvoeren.
Dus dat gelezen zie ik PHP nog steeds niet als een template engine

PHP is ontstaan als template-engine om templates te parsen... (dat er in de loop der jaren het één en ander is toegevoegd doet hier niet aan af)
[
Voor 3% gewijzigd door
Verwijderd op 08-06-2004 23:50
]