Waarom? In principe doe je toch hetzelfde? Bij een sprintf moet ik steeds weer opnieuw nadenken wat waar precies komt, op de "normale" manier gaat dat vanzelfquote:Op donderdag 26 juli 2007 18:11 schreef super-muffin het volgende:
ik vind de html opbouwen met sprintf() netter dan dit.
[ code verwijderd ]
Je hebt het hier maar 1 keer nodig, dus vandaar dat ik altijd dezelfde gebruik. Dat is wat netter dan $result_topic en $result_subforum.quote:Op donderdag 26 juli 2007 19:43 schreef wonderer het volgende:
[..]
Geq, ik zie dat je steeds "$result" gebruikt. Geeft dat niet? Dat ie hem overschrijft? Of is dat juist handiger omdat hij dan steeds maar een result in het geheugen heeft zitten in plaats van drie verschillende?
HTML in je code is verre van net. Het hoort er niet. Daar zijn template engines voor.quote:Op donderdag 26 juli 2007 18:11 schreef super-muffin het volgende:
ik vind de html opbouwen met sprintf() netter dan dit.
[ code verwijderd ]
Hm, maar qua performance maakt het niet uit? Ik meen me te herinneren dat ik geleerd heb dat je steeds een nieuwe variabele moet gebruiken. Maar dat is alweer zo lang geleden, misschien heb ik het mezelf wel aangeleerd omdat het ergens een keer fout ging of zo.quote:Op donderdag 26 juli 2007 20:12 schreef Geqxon het volgende:
[..]
Je hebt het hier maar 1 keer nodig, dus vandaar dat ik altijd dezelfde gebruik. Dat is wat netter dan $result_topic en $result_subforum.
Voor zo iets als dit is sprintf misschien wel overdreven, maar over het algemeen is het wel iets netter. Ook wel iets waar ik waarde aan hecht in mijn code.quote:Op donderdag 26 juli 2007 20:08 schreef ralfie het volgende:
ik gebruik het liefste haakjes om mijn strings op te bouwen:
"Hallo {$gebruiker}, je hebt als naam opgegeven {$_GET['naam']}<br/>";
sprintf vind ik een beetje overdreven om zoiets op te bouwen, maarja, whatever floats your boat...
Ook voor een functie die puur gebaseerd voor het outputten van HTML bestaat?quote:Op donderdag 26 juli 2007 20:16 schreef Farenji het volgende:
[..]
HTML in je code is verre van net. Het hoort er niet. Daar zijn template engines voor.
PHP is een prima template enginequote:Op donderdag 26 juli 2007 20:16 schreef Farenji het volgende:
HTML in je code is verre van net. Het hoort er niet. Daar zijn template engines voor.
Het idee van een template engine die gebruik maakt van een sandbox om templates te renderen vind ik toch wat prettiger dan zelf in de gaten te houden welke variabelen er allemaal in het presentatiedeel van m'n applicatie terecht komen (white listing versus black listing van variabelen).quote:Op donderdag 26 juli 2007 20:56 schreef SuperRembo het volgende:
[..]
PHP is een prima template engine
Ja, een template engin kan best handig zijn, afhankelijk van de grootte van het project. Het was vooral een opmerking om aan te geven dat een functie die wat html terug geeft niet per definitie "niet netjes" is.quote:Op donderdag 26 juli 2007 21:08 schreef JeRa het volgende:
[..]
Het idee van een template engine die gebruik maakt van een sandbox om templates te renderen vind ik toch wat prettiger dan zelf in de gaten te houden welke variabelen er allemaal in het presentatiedeel van m'n applicatie terecht komen (white listing versus black listing van variabelen).
Dat ligt eraan wat je serializet. Alle taalelementen van PHP zijn zonder meer in een ASCI-compatible veld op te slaan, maar als jij variabelen met binary data gaat serializen kan het een heel goed idee zijn om een binary safe veld te gebruiken. Sterker nog, ik raad je aan om een binary veld te gebruiken, puur omdat je verder geen character sets oid nodig hebt voor het resultaat van een serialize()quote:Op donderdag 26 juli 2007 21:24 schreef wonderer het volgende:
Als ik met serialize() iets in een tabel wil opslaan, moet dat veld dan binary safe zijn of kan dat ook gewoon text zijn?
Waarschijnlijk een stel arrays (ik sla nu arrays als string met delimiters op, dan is een ge-serialize-de toch wel een stukkie sneller, in plaats van explode dit en join dat enzo) maar als het verder niet uitmaakt, kan ik het net zo goed in binary doen. Met de hand aanpassen in bijv. phpMyAdmin schiet toch niet op.quote:Op donderdag 26 juli 2007 21:34 schreef JeRa het volgende:
[..]
Dat ligt eraan wat je serializet. Alle taalelementen van PHP zijn zonder meer in een ASCI-compatible veld op te slaan, maar als jij variabelen met binary data gaat serializen kan het een heel goed idee zijn om een binary safe veld te gebruiken. Sterker nog, ik raad je aan om een binary veld te gebruiken, puur omdat je verder geen character sets oid nodig hebt voor het resultaat van een serialize()
Hoe moet ik dat black/whitelisten van variablen zien? Zit me af te vragen hoe je zoiets zou doen. Of bedoel je dat je de values van de variablen sanitized?quote:Op donderdag 26 juli 2007 21:08 schreef JeRa het volgende:
[..]
Het idee van een template engine die gebruik maakt van een sandbox om templates te renderen vind ik toch wat prettiger dan zelf in de gaten te houden welke variabelen er allemaal in het presentatiedeel van m'n applicatie terecht komen (white listing versus black listing van variabelen).
De scheiding tussen je model in PHP en je view (óók in PHP) vervaagt doordat je voor een goede overgang tussen de twee moet zorgen. Zo kan het dus het geval zijn dat er een losse variabele die je in je model hebt gebruikt terugvindt in je view et vice versa. Door een template engine te gebruiken (zoals Smarty) begin je, waar je het view dan ook aanspreekt in je model, met een lege sandbox waarin je variabelen kunt toevoegen. Die sandbox kun je vervolgens ook netjes debuggen. Ik zie zoiets als preventief fouten voorkomenquote:Op donderdag 26 juli 2007 21:40 schreef slakkie het volgende:
[..]
Hoe moet ik dat black/whitelisten van variablen zien? Zit me af te vragen hoe je zoiets zou doen. Of bedoel je dat je de values van de variablen sanitized?
Preciesquote:Op donderdag 26 juli 2007 21:43 schreef JeRa het volgende:
[..]
De scheiding tussen je model in PHP en je view (óók in PHP) vervaagt doordat je voor een goede overgang tussen de twee moet zorgen. Zo kan het dus het geval zijn dat er een losse variabele die je in je model hebt gebruikt terugvindt in je view et vice versa. Door een template engine te gebruiken (zoals Smarty) begin je, waar je het view dan ook aanspreekt in je model, met een lege sandbox waarin je variabelen kunt toevoegen. Die sandbox kun je vervolgens ook netjes debuggen. Ik zie zoiets als preventief fouten voorkomen
1 2 3 4 5 | <select name="user_timezone"> echo drawDropdownItems($timezone_array,$user['Timezone']); </select> ?> |
Daar hebben ze toch CSS voor uitgevonden?quote:Op donderdag 26 juli 2007 22:10 schreef WyriHaximus het volgende:
[..]
Precies. Template engines besparen je zo veel werk. o.a. omdat je heel erg makkelijk designs en indelingen kunt veranderen etc zonder je code te moeten aanpassen
.
Meer is het eigenlijk ook niet he.quote:Op donderdag 26 juli 2007 20:56 schreef SuperRembo het volgende:
[..]
PHP is een prima template engine
Niet alles kan met CSSquote:Op donderdag 26 juli 2007 22:22 schreef wonderer het volgende:
[..]
Daar hebben ze toch CSS voor uitgevonden?
template engines doe ik wel voor versie 4 van deze site. Zoiets als geqxon doe ik ook regelmatig, maar alleen als ik die bepaalde dropdown vaker dan eenmaal nodig heb.
Begreep juist tijdens mijn cursus dat XSLT het 2 jaar geleden leek te worden, maar dat het niet on voldoen aan de verwachtingen en dat Smarty die plaats nu heeft ingenomen. In het boek staat dan nog wel XSLT beschreven, maar is uit de cursus zelf geschrapt en vervangen door Smarty..quote:Op donderdag 26 juli 2007 23:11 schreef WyriHaximus het volgende:
[..]
Niet alles kan met CSS. Maar als je echt dat kant op wil dat je document alleen maar data bestaat en design in andere dan moet je eens naar XML en XLST (ofzo) kijken
. Mooi voorbeeldje daar van is me wow char in de armory van blizzard:
http://armory.wow-europe.com/character-sheet.xml?r=Skullcrusher&n=Wyrihaximus
Tsja XSLT is gewoon nog traag. Smarty (en andere template engines) is stuk rapper is mijn ervaringquote:Op donderdag 26 juli 2007 23:19 schreef ursel het volgende:
[..]
Begreep juist tijdens mijn cursus dat XSLT het 2 jaar geleden leek te worden, maar dat het niet on voldoen aan de verwachtingen en dat Smarty die plaats nu heeft ingenomen. In het boek staat dan nog wel XSLT beschreven, maar is uit de cursus zelf geschrapt en vervangen door Smarty..
XML daarentegen is er nog wel..
En alleen daarom is het een goed idee om een template engine te gebruikenquote:Op vrijdag 27 juli 2007 10:18 schreef Farenji het volgende:
Het maakt ook weinig uit als je gewoon dingen voor jezelf maakt idd. Maar zodra je applicaties groter worden dan een paar scriptjes die bij elkaar horen dan wordt het iets anders dan "het hoort zo" maar dan wordt het "als je het niet doet kom je uiteindelijk zwaar in de shit". Ik heb een keer een grote applicatie moeten onderhouden waarvan de php vol stond met (non-css) html incl presentatietags. En toen ging het bedrijf over op een nieuwe huisstijl dus moest alles omgegooid worden. Dat was echt kut met peren vooral omdat het toen al veel te laat was om alsnog op een template engine over te gaan.
Herkenbaar. Sindsdien gebruik ik ten allen tijde mijn eigen template engine, en nog belangrijker: ik zet ALLES, maar dan ook ALLES wat enigzins configureerbaar is in constanten.quote:Op vrijdag 27 juli 2007 10:18 schreef Farenji het volgende:
Het maakt ook weinig uit als je gewoon dingen voor jezelf maakt idd. Maar zodra je applicaties groter worden dan een paar scriptjes die bij elkaar horen dan wordt het iets anders dan "het hoort zo" maar dan wordt het "als je het niet doet kom je uiteindelijk zwaar in de shit". Ik heb een keer een grote applicatie moeten onderhouden waarvan de php vol stond met (non-css) html incl presentatietags. En toen ging het bedrijf over op een nieuwe huisstijl dus moest alles omgegooid worden. Dat was echt kut met peren vooral omdat het toen al veel te laat was om alsnog op een template engine over te gaan.
Heb je voorbeeldje van wat naar wat je wilt hebben?quote:Op vrijdag 27 juli 2007 15:00 schreef Xcalibur het volgende:
Hoe goed zijn jullie met mod_rewrite?
Ik probeer namelijk een of meer characters in m'n URL te replacen voordat ik em ga rewriten ( / (slash) door _ (underscore). Maar daar lijkt mod_rewrite niet zo op gebouwd te zijn. Nu is het mogelijk met rewriteMap, maar daar heb ik weer een apart txt-bestandje voor nodig, en dat vind ik niet mooi
Kan dit makkelijker? Bij voorkeur in m'n .htaccess
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |