PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Templeidid
Postitaja: PHP.ee 2002-04-11 20:31:18
Artikli "Templeidid" kommentaarid kirjuta siia.
täiendus funktsioonile parse_template
Postitaja: tuisu 2002-04-19 10:23:27
Selline muudatus selleks, et ühte ja sama template'i võib mitmel juhul kasutada, kuid mingil hetkel pole kõiki välju ('{VAR:miskine_muutuja}') vaja kasutada. Kui vasted ei ole, siis eemaldatakse ülejäänud koodist {VAR:*} asjad.

hetkel:


PHP kood:
 
function parse_template($source,$vars

    if (
is_array($vars)) 
    { 
        foreach(
$vars as $key => $value
        { 
            
$tag "{VAR:" $key "}";  
            
$source str_replace($tag,$value,$source); 
        }; 
    }; 

    return 
$source



nüüd:


PHP kood:
 
function parse_template($source,$vars

    if (
is_array($vars)) 
    { 
        foreach(
$vars as $key => $value
        { 
            
$tag "{VAR:" $key "}";  
            
$source str_replace($tag,$value,$source); 
        };

        
$source str_replace ("{VAR:[[:alnum:]]+}"""$source);
    }; 

    return 
$source
}
RE: Templeidid
Postitaja: kix 2002-04-21 14:14:43
omk!

see on iseenesest abx et k6ik {VAR: asjad 2ra asendatakse olenemata sellest, kas neil on v22rtus v6i ei, aga koodis on sul 2 kala, esiteks see et str_replace ei tunnista regulaaravaldisi ja teiseks, kui vars pole array, siis v6iks ju ka k6ik 2ra asendada - kui asi t2ica tyhi on exole.

ntx nii:


PHP kood:
 function parse_template($source,$vars)  
{  
    if (
is_array($vars))  
    {  
        foreach(
$vars as $key => $value)  
        {  
            
$tag "{VAR:" $key "}";   
            
$source str_replace($tag,$value,$source);  
        }; 
    };  

    
$source preg_replace ("/{VAR:(.*)}/U"""$source); 
    return 
$source;  


oleks vist nac parem.
RE: Templeidid
Postitaja: z6 2002-06-16 12:35:29
tooks ara moningad abx lingid templeidide kohta:

- Smarty is a template engine for PHP.
http://smarty.php.net/

- PEAR html-templates
http://pear.php.net/manual/en/packages.templates.php

z.
RE: Templeidid
Postitaja: eero h 2002-08-14 11:40:19
{VAR:plaah} asemel oleks tegelikult mõtekam kasutada <!-- var:plaah -->
Kui midagi asendamata jääb, siis kasutajad seda ei näe. Ja kui keegi vaatabki source ja näeb seal <!-- var:plaah -->, mis siis sellest. No sel juhul ei saa kasutada ebatsensuurseid muutujanimesid, aga see pole suur puudus.

Veel. str_replace funktsiooni töö kiiruse huvides võiks "var:" asemel kasutada midagi lyhemat, ntx "$", "%", "@" vms, millega html kommentaari tekst harilikult ei alga. Näiteks <!-- $var --> või <!-- %var -->.

Märgin veel ära, et selliste templatede kasutamine on seotud suht suure turvariskiga, kui noname kasutajal on võimalus templatesid muuta. Sel juhul tuleb kasutada systeemi, kus asendatakse ainult eeldefineeritud nimedega muutujad.
RE: Templeidid
Postitaja: eero h 2002-08-14 11:42:25
TSITEERITUD:

/.../kasutada midagi lyhemat, ntx "$", "%", "@" vms, millega html kommentaari tekst harilikult ei alga. Näiteks <!-- $var --> või <!-- %var -->./.../

<!-- $plaah --> või <!-- %plaah --> pidi tegelikult siin näites olema
RE: Templeidid
Postitaja: GPF 2002-10-16 15:11:09
Ma kirjutasin valmis template'ide süsteemi, mis võimaldab andmete lugemist baasist ja näidata saab ka hierarhilisi andmeid. Abiks asi on küll, aga...

Ei saa märkimata jätta, et kogu see template'ide teema sobib kasutamiseks ainult lihtsamatel juhtudel. Kui on tegemist mingite keerukamate asjadega, siis on parem lahendus see, et HTML ja PHP on omavahel kenasti läbisegi ja kujundust saab muuta täpselt nii palju, kui style-sheet'id võimaldavad.
RE: Templeidid
Postitaja: stepz 2002-10-23 03:57:46
Templeidid on väga paindlikud ja produktiivsust tõstvad asjad, kui ei hakka ise jalgratast leiutama. Kui kasutada Smarty't ei ole mingit probleemi ükskõik kui keeruliste asjade tegemisega. Lisa eelis on see, et Smarty enamvähem eeldab väljundandmetele orienteeritud lähenemist probleemile, mitte väljundhtml'le. Tänu sellele, on igasugused kuvamismeetodi muutused elementaarsed implementeerida ja ka XML'i väljastus on suhteliselt labane. Peale selle, kood on ilusam, loogilisem ja loetavam.
RE: Templeidid
Postitaja: stepz 2002-10-23 04:01:54
Ahjaa, ja peaks veel mainima, et kiiruse vahe inline html'ga on suhteliselt väikene ja vähegi keerukamate lehtede puhul on teistest template mootoritest oluliselt kiirem.

Tõsine kiidulaul Smartyle, aga miks ka mitte, see on praktiliselt kõik, mis tahta võiks ja kui ei ole, on väga lihtne laiendada. Mks hakata jalgratast leiutama, kui mootorratas antakse tasuta.
RE: Templeidid
Postitaja: rainer s 2003-03-09 22:48:14
asjast kül paju ei jaga, aga tore oleks kui func. read_template koostaks kohe ka selle $vars array..

.. nt. kui body.tpl'is on VAR'id menu ja body, luuakse kohe automaatselt array _
$vars = array("menu" => $menu, "body" => $body);
RE: Templeidid
Postitaja: MarekS 2003-06-15 22:46:40
keegi pole veel varianti pakkunud:

<TITLE><?=$title?></TITLE>
vs.
<TITLE>{title}</TITLE>

on kuidas on, mõlemal variandil on oma eelised ja miinused - enivei - kasutan mina PHP'd template enginena. Kõik need muud 'engined' on miskised stringe töötlevad... koodid, PHP seljas. Oma syntaksite ja oma kellade ja viledega. PHP'l on pakkuda hvingelt suur hulk stringitöötlus funktsioone, mida võib ja tohib minu arvates julgelt ka templatedes kasutada.

- MarekS -
RE: Templeidid
Postitaja: Heiko 2004-04-21 13:22:06
TSITEERITUD:
Artikli "Templeidid" kommentaarid kirjuta siia.

Ei taha tähenorija olla aga see sõna on vääääga paha. Jõuga eesti keelde väänamise asemel võiks öelda mall (ilus lühike kodukootid sõna, millel on sama sisu) või siis ikkagi kasutada templated inglise keelse sõnana.

Noh tegelikult hea, et päris templiidid ei öeldud ;)

no offence

RE: Templeidid
Postitaja: 2004-07-05 15:17:27
TSITEERITUD:
keegi pole veel varianti pakkunud:

<TITLE><?=$title?></TITLE>
vs.
<TITLE>{title}</TITLE>

on kuidas on, mõlemal variandil on oma eelised ja miinused - enivei - kasutan mina PHP'd template enginena. Kõik need muud 'engined' on miskised stringe töötlevad... koodid, PHP seljas. Oma syntaksite ja oma kellade ja viledega. PHP'l on pakkuda hvingelt suur hulk stringitöötlus funktsioone, mida võib ja tohib minu arvates julgelt ka templatedes kasutada.

- MarekS -
Mina olen Sinu poolt, MarekS!!!
    Muuda postitust
RE: Templeidid
Postitaja: zeratul 2005-08-23 14:42:23
CSS on omadega nii kaugele juba arenenud, et varsti võib seda juba templiidimootoriks nimetada.
RE: Templeidid
Postitaja: komeedipoeg 2006-11-14 11:46:31
Smarty ja Smarty taolised template mootorid on saast, kuna sa kirjutad HTMLi sisse mingisugust pseudokeelt mis omakorda muudab template preview võimatuks.

Lahenduseks pakuks PHP:TAL
http://phptal.motion-twin.com/

template sisu jääb korralikuks, pole vaja jamada mingite pseudokeeltega, ja ka html mille sa genereerid on suhtkoht w3 valid

lugege dokumentatsioon läbi ja suht kindlalt armute php:tali
http://phptal.motion-twin.com/manual/en/
RE: Templeidid
Postitaja: andu17 2006-12-07 22:11:55
templeitimine on tõesti tore ja kasulik, aga php puhul just küll pole mõtet tegema/kasutama hakata mingit template'i keelt. Nagu templeidi kasutajad teavad töötab template üldiselt nii, et sul on template ja hunnik data't ning kui see mootorist läbi käib on ilus leht. Aga miks siis php puhul mitte kasutada template'e. Väga lihtne tuleb teha ainult 2 faili 1 on php kood ja teine on php fail mis käitub templeidina. Lugesin ka selle kohta artiklit mida küll hetkel ei leia, kuid nõustun täiesti ideega et on 2 php faili kus ühes on funtksionaalsus ja teises väljund ning kuidas nad kokku paned otsustab progeja ise. A la tekitad mingi jagatava muutuja vms...


Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0133461952209