Atpakaļ uz pirmo lapu

laacz » 2004 » 3. februāris

Par PHP templeitiem

00:21 @ 2004-02-03 = 4 blabla  

Manuprāt, labākais vidusceļš starp divām galējībām — jaunu templeitu valodu un vienkāršu PHP koda inklūdēšanu ir apmēram sekojošs.

Pieņemsim, ka mums ir šāds imaginārs templeits, kurš izvada mainīgā $viens vērtību un pēc tam cikliski izvada viendimensionāla masīva $array vērtības kā sarakstu:

{$viens}
<ul>
{foreach($array as $v)}
  <li>{$v}</li>
{end_foreach}
</ul>

It kā bezjēdzīgi, ne? To pašu var uzrakstīt iekš PHP un tas strādās daudz ātrāk. Taču, šajā gadījumā mums ir viena maza priekšrocība. Iespēja šo, kā sacīt jāsaka, templeitu nokompilēt uz PHP kodu, kā vien mums ir nepieciešams, lai gala lietotājam nebūtu jāraksta visuresošās pārbaudes.

Piem., ja mēs nezinām, vai mums $array vispār ir izveidots, vai arī tas maz ir masīvs, mūsu vēl imaginārāka templeitu sistēma uzģenerē apmēram sekojošu PHP kodu, kuru tad ar vieglu sirdi pēcāk arī inklūdēt visur, kur nepieciešams:

<? if (isset($viens)) { echo $viens; } ?>
<ul>
<? if (isset($array) && is_array($array) && count($array) { ?>
  <? foreach ($array as $v) { ?>
    <li><?=$v?></li>
  <? } ?>
<? } ?>
</ul>

Ja nu kāds gadījumā saprata, par ko es runāju un havo citu viedokli, laipni lūgtum komentāros (kā vienmēr:)

Apmēram šāda ideoloģija ir realizēta iekš PEAR::HTML_Template_Xipe

P.S. Starp citu, laikam jau varu izsniegt ķengāšanai. Mana temporārā implementācija.

1 sklp @ 00:37 (2004. gada 03. februāris)

Vidusceļš starp divām galējībām — inklūdi un templeitu valodu būtu vēl viens php parseris?

2 misame @ 08:42 (2004. gada 03. februāris)

Tā notice, kas tur beigās rādās (temporārās implementācijas lapā), viņai tā jābūt?

3 laacz @ 08:43 (2004. gada 03. februāris)

misame: ugu. Lai nodemonstrētu, ka variablis nav iesetots.

4 Delf @ 10:35 (2004. gada 03. februāris)

ideja skaidra. bet manuprat likt ciklus ieksh templeita ir garam, bet dazreiz iisti vietaa.

piemeram mums ir menu :
home, about, login, my data

pedejos divus jaapasleepj attieciigi,– ielogies vai nee.

tas noziimee ka mums vel tas masiivs jauztaisa (foreach_1), un tad jaaiedzen iekshaa templeitaa (foreach_2).

un prasaas arii pec IFiem un etc. galu galaa, sanaks taac pats smagnejs objekc :)

/me paliek pie single var/const ieksh templeitiem

Kā tu saucies:
Tava e-pasta adresīte:
(nevienam netiks rādīta, vai dota; pat pie komentāra ne)
Ko teiksi?
FYI
* Formatēšana: iekļaujot tekstu no abām pusēm iekā '//', tas iznāks kursīvā: //teksts// (teksts), bet treknu tekstu var dabūt ar '**' katrā pusē: **teksts** (teksts), savukārt pasvītrotu ar '__': __teksts__ (teksts).
* Enteri tiek automātiski pārtaisīti par enteriem. Jebkurš HTML (izņemot <BR.*>) tiek parādīts, kā ievadīts (ne HTML'iski)
* E-pastu var vadīt droši iekšā, ja ir bailes no spambotiem. Tas tiek aizsargāts no jamajiem.
* Jebkurš url'is (www.kaka.com, http://kaka.com/, …) tiek automātiski pārtaisīts par spiežamu prieku (www.kaka.com, http://kaka.com/, …)
* Ko nozīmē 'detransliterēšana'? Manuprāt sen jau ir laiks sākt rakstīt nevis translitā (aaboljiishi), bet gan normāliem letiņu burtiem (āboļīši). Tad nu tieši to arī dara attiecīgā poga - pārveido tekstu no translita uz parastu. Gadās kļūmītes, bet labāk šitā nekā nekā.
 

Valid CSS! Valid XHTML 1.0 Transitional! Valid RSS! Valid Atom!
Tātad tā. Kopīraita notice. Viss materiāls, kas atrodams šajā saitā nedrīkst tikt izplatīts, kopēts, jebkādi citādi reproducēts vai izmantots bez manas (laacz) rakstiskas atļaujas. šīs tiesības man laipni piedāvā Autortiesību Likums.
Jebkura informācija, kuru kāds labprātīgi publicē šajā saitā (piemēram, komentāri), pieder tās autoram. Taču, ievietojot infromāciju šajā saitā, tās autors sniedz saita īpašniekam tiesības to daļēji vai pilnā apjomā lietot, izplatīt, reproducēt, modificēt, adaptēt, publicēt, tulkot, publiski demonstrēt. Saita īpašnieks ir tiesīgs jebkuru komentāru jebkurā brīdī dzēst, vai modificēt.
© 1996 — 2025 laacz. Visas tiesības… nu jūs jau zināt, kur.
Spēcināts ar SPP (S Pivom Potjaņet) v2.0b (code name Marasmus)
Hostingu laipni piedāvā DEAC.

laacz blog activity

Top.LV

 

Lapa izlīdusi no servera dzīlēm 0.03055 sekundē(s)