qualitum logo
För er som vill ha en lättanvänd templatemotor.

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#51962
Inlägg Skrivet: 2003-06-22 14:51      Ämne: Citera

tackar och bokar för all kritik/idéer samme Smile
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 Smile Ä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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#51982
Inlägg Skrivet: 2003-06-22 16:48      Ämne: Citera

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:
PHP:
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
PHP:
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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52092
Inlägg Skrivet: 2003-06-23 00:32      Ämne: Citera

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
CW



Medlem i: 3936 dagar
Från: NW-EU.Ireland
Status: Offline



#52095
Inlägg Skrivet: 2003-06-23 00:49      Ämne: Citera

Jag blev nästan smått kåt( pardon my french) av dess ringa storlek Smile.

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 Smile

~~~~~~~~~~~~~~~~

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 Wink....
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52096
Inlägg Skrivet: 2003-06-23 00:53      Ämne: Citera

CW: det kommer en html manual, sitter och jobbar på den parallelt Smile

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
CW



Medlem i: 3936 dagar
Från: NW-EU.Ireland
Status: Offline



#52098
Inlägg Skrivet: 2003-06-23 01:20      Ämne: Citera

Cool yay.. down boy, down boy! jag älskar effektiv kod Wink.

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 Cool
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52100
Inlägg Skrivet: 2003-06-23 01:28      Ämne: Citera

CW skrev:
Cool yay.. down boy, down boy! jag älskar effektiv kod Wink.

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 Cool


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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52106
Inlägg Skrivet: 2003-06-23 02:27      Ämne: Citera

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:
PHP:
1:
<?php
2:
$this->tplvars
3:
?>
 

_________________
» "I'll try being nicer if you try being smarter"
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52109
Inlägg Skrivet: 2003-06-23 03:56      Ämne: Citera

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):
KOD:
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):
PHP:
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 Razz):
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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
CW



Medlem i: 3936 dagar
Från: NW-EU.Ireland
Status: Offline



#52112
Inlägg Skrivet: 2003-06-23 05:54      Ämne: Citera

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 Exclamation

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 Wink *onskefullt flin*
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
samme



Medlem i: 4096 dagar
Från: Stockholm
Status: Offline



#52125
Inlägg Skrivet: 2003-06-23 10:02      Ämne: Citera

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:
PHP:
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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
thr
Inaktiverad



Medlem i: 3872 dagar
Från: Göteborg
Status: Offline



#52140
Inlägg Skrivet: 2003-06-23 11:24      Ämne: Citera

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:
PHP:
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 Razz

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
samme



Medlem i: 4096 dagar
Från: Stockholm
Status: Offline



#52255
Inlägg Skrivet: 2003-06-23 17:56      Ämne: Citera

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
CW



Medlem i: 3936 dagar
Från: NW-EU.Ireland
Status: Offline



#52372
Inlägg Skrivet: 2003-06-24 00:24      Ämne: Citera

KOD:
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 Sad. Men hur hade du tänkt dig?, är detta något som du tänkt på.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
samme



Medlem i: 4096 dagar
Från: Stockholm
Status: Offline



#52376
Inlägg Skrivet: 2003-06-24 00:34      Ämne: Citera

CW skrev:
KOD:
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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6  Nästa
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo