| Visa föregående ämne :: Visa nästa ämne |
| Startad av: |
Meddelande |
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#51962
|
Skrivet: 2003-06-22 14:51
Ämne:
|
|
|
tackar och bokar för all kritik/idéer samme
Släpper v0.2RC2 snart, egentligen borde den kanske heta v0.3RC1 eftersom den är till största delen omskriven.
Ska försöka få ut den till ikväll någongång, först och främst behöver jag äta nu Är hungrig som satan.
Har funderat på en annan sak, att använda ett C++ API för att läsa och ladda templates som är färdiga borde göra att hela motorn blir MYCKET snabbare, några tankar om detta? |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#51982
|
Skrivet: 2003-06-22 16:48
Ämne:
|
|
|
Har problem att bestämma mig hur mycket olika features jag ska inkludera, det valet jag inte kan göra nu är om man skal kunna koda egna funktioner som laddas och körs i templatet, eller om det ska räcka med funktioner som tolkas av kompileringsmotorn, exempel:
Funktion som tolkas av kompileringsmotorn:
<-html_select|ARRAY|SELECTED|NAME->, detta ger outputten till den kompilerade templaten som ser ut någotsådanthära:
1: 2: <select name="NAME"> 3: <?php foreach($data['ARRAY'] as $key => $val){ 4: echo \'<option \'; if($key == \'SELECTED\'){ echo \'selected \'; } echo \'value="\' . $key . \'">\' . $val . \'</option>\'; 5: } ?> 6: 7: </select> 8:
|
en funktion som körs i templatet, typ denna:
<-colors|#EAEAEA,#DADADA,#FAFAFA>
ger denna outputten till templatet
1: 2: <?php include('function.colors.php'); ?> 3: <?php colors("#EAEAEA#DADADA#FAFAFA"); ?> 4:
|
skillnaden är alltså att den undre är en funktion som körs i templaten och den övre är en funktion som tolkas av compilemotorn och ger rätt phpkod till templatet. |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52092
|
Skrivet: 2003-06-23 00:32
Ämne:
|
|
|
| Kan uppmana alla som tänkt prova tpllib att vänta tills inatt(kl 0400 [JAG ÄR ORDBLIND OCH TAPPAR DE FLESTA BOKSTÄVERNA NÄR JAG SKRIVER] någe) eller imorrnbitti på den nya releasen, har slitti ihjäl mig för att göra den så bra som möjligt, försöker också komma på ett nytt namn.. förslag? |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
CW
Medlem i: 3936 dagar Från: NW-EU.Ireland
Status: Offline
#52095
|
Skrivet: 2003-06-23 00:49
Ämne:
|
|
|
Jag blev nästan smått kåt( pardon my french) av dess ringa storlek .
Kollade igenom koden lite och det såg prydligt och nästan överskådligt ut. *digga*
Jag skall bestämt prova denna, och som du vill vänta några timmar*ta tid*. Om den blir praktiskt användbar, t.ex är så pass neutral att man kan inkludera samma klass för många projekt som jag såg någon nämna lite om förut, samt att syntaxen inte är för jobbig att skriva så kommer jag seriöst överväga att migrera från Smarty till denna... om för inget annat så för dess storleks skull.. man får ju nästan dåligt samvete var gång man kodar för smarty pga att man vet att sin fina applikation vid körning kommer tyngas ner av massiv mängd kod jag inte ens alltid använder.
~~~~~~~~~~~~~~~~
Vilken GPL exakt är det som du släppt den under?, med tanke på att du inte inkluderat någon kopia så undrar jag. Är det samma som Smarty ligger under eller är det den elaka som inte tillåter komerciella syften.
Iofs pysslar jag mest med OpenSource men ibland jobbar man på större ting. Och om det är en templatemotor så kanske det vore en för dig ära om den användes av kanske företag någon dag
~~~~~~~~~~~~~~~~
PS. Jag hoppas du inkluderar txt / rtf versionen av manualen _i_ arkivet nästa gång för jag kan varken läsa de som finns i arkivet eller den som låg där på internet pga det inte fanns några radbrytningar(antar att min webbläsare stör sig). och jag orkade inte ladda ner för att sen öppna med briagare program .... |
|
|
|
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52096
|
Skrivet: 2003-06-23 00:53
Ämne:
|
|
|
CW: det kommer en html manual, sitter och jobbar på den parallelt
kan ju glädja dig med att den nya är bara ~340 rader inklusive compilerings klassen. |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
CW
Medlem i: 3936 dagar Från: NW-EU.Ireland
Status: Offline
#52098
|
Skrivet: 2003-06-23 01:20
Ämne:
|
|
|
yay.. down boy, down boy! jag älskar effektiv kod .
Själv placerar jag prioriteten på kodande, manualen kommer i sista hand. Bara man har några exempel så bör det itne vara så svårt, kan ju även kolla koden antar jag.
ajajajaj vad ont jag har... ska själv programmera nu, tittar in lite då och då så får vi se om din amisiösa tanke att hinna släppa ny version redan nu snart, eller om man får vänta lite till... i vilket fall så är det lungt... Jag vet hur det kan vara  |
|
|
|
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52100
|
Skrivet: 2003-06-23 01:28
Ämne:
|
|
|
| CW skrev: |
yay.. down boy, down boy! jag älskar effektiv kod .
Själv placerar jag prioriteten på kodande, manualen kommer i sista hand. Bara man har några exempel så bör det itne vara så svårt, kan ju även kolla koden antar jag.
ajajajaj vad ont jag har... ska själv programmera nu, tittar in lite då och då så får vi se om din amisiösa tanke att hinna släppa ny version redan nu snart, eller om man får vänta lite till... i vilket fall så är det lungt... Jag vet hur det kan vara |
Vad kodar du nu? php eller något annat kul? (C++,C#,C,Java).
Hehe, mjo.. men jag håller bara på och finslipar och går igenom koden några gånger nu... försöker få det så effektivt som möjligt med samtidigt tillräckligt många features. |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52106
|
Skrivet: 2003-06-23 02:27
Ämne:
|
|
|
har vänt och vridit på det nu, tror jag kommer landa under 250 rader kod med lite tur =), har också bytt ut $tpl_data mot:
1: <?php 2: $this->tplvars 3: ?>
|
|
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52109
|
Skrivet: 2003-06-23 03:56
Ämne:
|
|
|
v0.3 är här, en del har ändrats, framförallt längden på klassen(lite nder 250 rader) samt att det bara är en fil numera, inte 2.
De största ändringarna är:
* Bara en fil och en klass numera
* _ALLA_ variabler(inklusive key och val) ska ha . före sig, exempel: .key för att komma åt keyn i en loop eller .array.subarray.subvalue
* Config filen har blivit flyttad till en extern fil, det är också möjligt att ladda olika configfiler.
* Alla inställningar görs i config filen UTOM den som ställer in standardconfigfilen (den som körs om ingen config fil specifieras) som ställs in överst i klassen(tpllib_v3.php)
* Samma installationsförfarande som de gammla versionerna (http://tpllib.absession.org <- manual, dock de gammla versionerna)
* Delimiterna mellan olika inställnigar för variabler och funktioner har ändrast från - till #
* Templatefilerna MÅSTE ha .html som suffix.
En riktig releasetråd med en hyffsat bra manual + installations anvisning kommer imorrn, men för er som inte kan vänta, här är ett exempel + source:
EXEMPEL:
v3.html(template):
1: <html>
2: <head>
3: <title>[.title]</title>
4: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5: </head>
6: <body>
7: [loop|.foo]
8: [.foo.key] <br />
9: [loop]
10: [html_select|.bar#selectlist#key2]
11: </body>
12: </html>
13:
|
v3.php(php fil):
1: <?php 2: include('/usr/local/lib/tpllib/tpllib_v3.php'); 3: $tpl = new tpllib_v3('v3.html','tpllib.cfg.php',''); 4: $tpl->tplvars['title'] = 'ooh... pie!'; 5: $tpl->tplvars['foo'] = array( 6: 1,2,3,4,5,6,7,8,9 7: ); 8: $tpl->tplvars['bar'] = array( 9: 'key1' => 'val1', 10: 'key2' => 'val2', 11: 'key3' => 'val3' 12: ); 13: $tpl->display('v3.html'); 14: ?>
|
Och här är sourcekoden till tpllib v0.3 + standarconfig(DU MÅSTE HA BÅDA FILERNA ):
http://thr.ath.cx/thr/tpllib.php
Jag ser framemot att ni kommer med tips på vad som kan göras bättre, om vilka buggar som finns, etc. |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
CW
Medlem i: 3936 dagar Från: NW-EU.Ireland
Status: Offline
#52112
|
Skrivet: 2003-06-23 05:54
Ämne:
|
|
|
| thr skrev: |
Vad kodar du nu? php eller något annat kul? (C++,C#,C,Java).
Hehe, mjo.. men jag håller bara på och finslipar och går igenom koden några gånger nu... försöker få det så effektivt som möjligt med samtidigt tillräckligt många features. |
Nu tittade jag in, och tydligen var du lite snabbare än jag förväntat mig
Till svaret. När jag skrev det där meddelandet så höll jag på med PGP-krypterings-klass i PHP(mitt favospråk fastän man riskerar att mobbas av andra programmerare för att erkänna det).
Men sen blev det hoppande mellan diverse projekt och slutligen avrunda dagen med obligatoriskt Star Trek-tittande. Och nu sova snart, sen vakna kl 16 varpå jag ska experimentera med template-saken.
Det ser jag fram emot, om jag ska migrera(tpl motor) så vore det bäst innan nya projekt kommit alldeles för långt.
Eller vafan.. jag tar och bootar upp servern och slänger ihop nått. sova kan jag gö imorn.
Förvänta dig feedback *onskefullt flin* |
|
|
|
| Till toppen på sidan |
|
samme
Medlem i: 4096 dagar Från: Stockholm
Status: Offline
#52125
|
Skrivet: 2003-06-23 10:02
Ämne:
|
|
|
Testade lite snabbt igen. Loop fungerade inte så bra eftersom du döpt om variablerna. Jag tror inte den följde med filerna du länkade till va? Denna variant fungerar för mig:
1: <?php 2: function function_loop($settings){ 3: if($settings == ''){ 4: return '<?php } ?>'; 5: } 6: return '<?php foreach(' . $settings . ' as $tpllib__loop__key => $tpllib_loopvalue){ ?>'; 7: } 8: ?>
|
Det ser bra ut det här! Några kommentarer bara, du har säkert tänkt på det själv...
- standard.cfg borde kanske heta .php också så att man inte kan läsa din configfil om den ligger i webbroten?
- Kommentarerna om vad som var defaultvärden, iaf vilken integer som ger vad i config-filen saknar jag... det räcker utmärkt med de kommentarer som fanns i förra versionen.
| thr skrev: |
| * Templatefilerna MÅSTE ha .html som suffix. | Varför? Provade att inte ha det och ser felmeddelandet. Går det inte att ha filändelsen i config-filen? |
|
|
|
| Till toppen på sidan |
|
thr


Medlem i: 3872 dagar Från: Göteborg
Status: Offline
#52140
|
Skrivet: 2003-06-23 11:24
Ämne:
|
|
|
| samme skrev: |
Testade lite snabbt igen. Loop fungerade inte så bra eftersom du döpt om variablerna. Jag tror inte den följde med filerna du länkade till va? Denna variant fungerar för mig:
1: <?php 2: function function_loop($settings){ 3: if($settings == ''){ 4: return '<?php } ?>'; 5: } 6: return '<?php foreach(' . $settings . ' as $tpllib__loop__key => $tpllib_loopvalue){ ?>'; 7: } 8: ?>
|
|
Yepp jag glömde att slänga med de uppdaterade pluginsen
| samme skrev: |
Det ser bra ut det här! Några kommentarer bara, du har säkert tänkt på det själv...
- standard.cfg borde kanske heta .php också så att man inte kan läsa din configfil om den ligger i webbroten?
- Kommentarerna om vad som var defaultvärden, iaf vilken integer som ger vad i config-filen saknar jag... det räcker utmärkt med de kommentarer som fanns i förra versionen. |
självklart ska standard.cfg heta standard.cfg.php egentligen, va lite trött =)
Kommentarerna kommer att ersättas av en manual som kommer senare, pga. att det även tar tid att parse:a kommentarer för phpmotorn så försöker jag spara på dem
| samme skrev: |
| thr skrev: |
| * Templatefilerna MÅSTE ha .html som suffix. | Varför? Provade att inte ha det och ser felmeddelandet. Går det inte att ha filändelsen i config-filen? |
Dumt av mig egentligen, det har o göra med att den rippar suffixet .html som är 5 bokstäver och inte tex: .htm/.tpl som är 4 från templatenamnet när den gör om dem till compile/cache. Lägger till en 'option' i configfilen med det nu(får fixxa en variabel med strlen(); på det man skriver).
Ska uppdatera detta nu, sen så släppter jag RC2 |
|
|
_________________ » "I'll try being nicer if you try being smarter" |
| Till toppen på sidan |
|
samme
Medlem i: 4096 dagar Från: Stockholm
Status: Offline
#52255
|
Skrivet: 2003-06-23 17:56
Ämne:
|
|
|
| thr skrev: |
| Lägger till en 'option' i configfilen med det nu(får fixxa en variabel med strlen(); på det man skriver). |
Obs, har inte kikat på rc2 ännu men för att ta reda på filnamnet/extension kan du ju köra pathinfo()... då vet jag iofs inte om det är en seg funktion. |
|
|
|
| Till toppen på sidan |
|
CW
Medlem i: 3936 dagar Från: NW-EU.Ireland
Status: Offline
#52372
|
Skrivet: 2003-06-24 00:24
Ämne:
|
|
|
1: $tpl = new tpllib_v3('v3.html','standard.cfg','');
2: $tpl->display('v3.html');
|
Varför ange template när man initierar den nya klassen? om man ändå ska behöva ange den igen i display().
Jag pysslar t.ex väldigt mycket med moduläritet i program, att utöka saker genom plugins/moduler etc och då är det nödvändigt att kunna låta dom spota ut egna mallar..
enkelt exempel:
header.php
content.php
footer.php
om vi säger att jag new tpllib_v3 i header.php så vill jag kunna återanvända den utan att behöva skapa en ny instans för varje ny fil+mall.
ty om headermallen innehåller <body> och uppåt och footer </body> o neråt så vill man att content ska spotta ut egen mall med eget innehåll på.
~~~~~~~~~~~~
önskan:
När man först skapar ny instans av klassen så kanske man kan ange templatemappen som ska användas, sen när man display(mallnamn) så letar den efter dem i rotmappen man angav när man startade klassen.
Och likaså bör cache'ingen tillåtas att knäppas på eller av för specifika mallar (kanske i display()?), och kanske även specifiera "cachetime".
Sådana ting är extremt användbara när man behöver skapa ett system som generar sidan från en mängd separata mallar och filer.
Hann inte experimentera ås mycket som jag ville pga att dom kompilerade filerna inte tyckts fungera som dom skulle och orkade inte rota igenom all kod . Men hur hade du tänkt dig?, är detta något som du tänkt på. |
|
|
|
| Till toppen på sidan |
|
samme
Medlem i: 4096 dagar Från: Stockholm
Status: Offline
#52376
|
Skrivet: 2003-06-24 00:34
Ämne:
|
|
|
| CW skrev: |
1: $tpl = new tpllib_v3('v3.html','standard.cfg','');
2: $tpl->display('v3.html');
|
Varför ange template när man initierar den nya klassen? om man ändå ska behöva ange den igen i display(). |
Jag har inte angett något template när jag initerat klassen, det har funkat bra ändå. Kika i källkoden så ser du att det är en frivillig inställning. Håller med om att en instans av klassen ska kunna hantera flera templatefiler, men det vågar jag gissa på att den redan fixar. |
|
|
|
| Till toppen på sidan |
|
|