Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
De ce i se zice Mariei "Stapa...

Colet valoare Londra București

BMW seria 3 rulat vs SsangYong Ko...

Share abonament Netflix
 Cum pot sa fac rost de un negativ...

Lant Bicicleta

Un designer artist: Raymond Loewy

ATS din contactor modular
 Parere apartament ~150k

Limitare la 100mb/s

Altercație

Cartonașe și stickere t...
 Ciobanesc german - zgarda electro...

Ce este instalatia asta? (Valea B...

BD-R Verbatim 25gb salvare Fisier

Lupte WW2
 

Templating systems

- - - - -
  • Please log in to reply
9 replies to this topic

Poll: Templating system (18 member(s) have cast votes)

Templating system ... ce folositi ? Si de ce ?

  1. PHP (da, php-ul in sine este un template engine) (2 votes [11.11%])

    Percentage of vote: 11.11%

  2. Smarty (3 votes [16.67%])

    Percentage of vote: 16.67%

  3. PEAR (unul din ele) (0 votes [0.00%])

    Percentage of vote: 0.00%

  4. PHP Savant (0 votes [0.00%])

    Percentage of vote: 0.00%

  5. Cake PHP (2 votes [11.11%])

    Percentage of vote: 11.11%

  6. Altul (4 votes [22.22%])

    Percentage of vote: 22.22%

  7. Ce e ala templating system ? (7 votes [38.89%])

    Percentage of vote: 38.89%

  8. Nu o sa folosesc vreodata asa ceva. (0 votes [0.00%])

    Percentage of vote: 0.00%

Vote Guests cannot vote

#1
Dever

Dever

    Member

  • Grup: Members
  • Posts: 416
  • Înscris: 13.07.2005
As dori cateva opinii / sugestii / comentarii de la cei care folosesc asa ceva si de ce au ales sistemul pe care il folosesc.
P.S. Stiu ca nu sunt toate optiunile listate, dar cred ca ar fi fost destul de greu sa le scriu pe toate.
O lista mai mare aici.

#2
again

again

    WEB DUDE

  • Grup: Senior Members
  • Posts: 7,068
  • Înscris: 21.10.2005
nu folosesc (inca) nimic , mi se pare greoi pt un cms simplu

#3
Dever

Dever

    Member

  • Grup: Members
  • Posts: 416
  • Înscris: 13.07.2005

View Postagain, on Sep 28 2006, 14:37, said:

nu folosesc (inca) nimic , mi se pare greoi pt un cms simplu
Ok ... pentru lamurire ... un citat de la cake php (pe care sunt tentat sa il folosesc pe viitor)

Quote

The MVC Pattern

Model-View-Controller is a software design pattern that helps you logically separate your code, make it more reusable, maintainable, and generally better. Model View Controller was first described by the author group Gang of Four. Dean Helman wrote (an extract from Objective Toolkit Pro white paper):

    "The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm.

    Input -> Processing -> Output

    Controller -> Model -> View

    "The user input, the modeling of the external world, and the visual feedback to the user are separated and handled by model, view port and controller objects. The controller interprets mouse and keyboard inputs from the user and maps these user actions into commands that are sent to the model and/or view port to effect the appropriate change. The model manages one or more data elements, responds to queries about its state, and responds to instructions to change state. The view port manages a rectangular area of the display and is responsible for presenting data to the user through a combination of graphics and text."

La baza ideea unui templating system este separarea designului de programare, deci cu toate ca nu folosesti un framework "dedicat" acestui proces probabil ca ai si tu prin cms-ul tau ceva de genul:
<div "id=content">
<? echo $content; ?>
</div>


#4
again

again

    WEB DUDE

  • Grup: Senior Members
  • Posts: 7,068
  • Înscris: 21.10.2005
stiu asa in mare ce face un system de template-uri
mi-am bagat si eu nasu` prin smarty, insa nu intelegeam cum sa fac interogarile sql intr-un .php si sa le afisez in .tpl (adica imi lua mai putin timp sa le afisez tot in php decat sa le assignez lu` $smarty si sa mai fac in .tpl un foreach sau ceva de gen ...

#5
Dever

Dever

    Member

  • Grup: Members
  • Posts: 416
  • Înscris: 13.07.2005
exact genul asta de comentarii asteptam ... avantaje / dezavantaje s.a.m.d.
pentru cei care voteaza "Altul" i-as ruga sa precizeze ce anume, daca nu cer prea mult.

#6
Garfield

Garfield

    Active Member

  • Grup: Members
  • Posts: 1,200
  • Înscris: 20.11.2004
Decat sa folosesti un sistem de template-uri de genul:
Valoarea este {val}
mai bine folosesti direct PHP
Valoarea este <?=$val;?>

In primul caz sistemul de template va citi fisierul, apoi va cauta toate tag-urile (diferentiate prin acolade), iar abia la final le va interpreta.
In al doilea caz, totul este interpretat direct. :)

Edited by Garfield, 28 September 2006 - 19:42.


#7
john2381

john2381

    Junior Member

  • Grup: Members
  • Posts: 32
  • Înscris: 31.08.2005

View PostGarfield, on Sep 28 2006, 20:40, said:

Decat sa folosesti un sistem de template-uri de genul:
Valoarea este {val}
mai bine folosesti direct PHP
Valoarea este <?=$val;?>

In primul caz sistemul de template va citi fisierul, apoi va cauta toate tag-urile (diferentiate prin acolade), iar abia la final le va interpreta.
In al doilea caz, totul este interpretat direct. :)

puterea unui sistem de templateuri nu sta in chestii din astea simple (unde e evident mai usor sa folosesti direct php)

un exemplu care m-a convins pe mine de utilitatea unui sisstem de templateuri este urmatorul:

se da un site de stiri.. un design initial.. stil gsp.. queryuri si php amestecate cu html..
dupa 2 sapt de lucru.. clientul vrea alt design.. stasi si cauta in cod partea de php utila.. sterge html-ul si refa-l cu alta structura.. ba si jumate din php refacut din cauza ordinii si gruparii diferite a stirilor..
dupa alte 3 zile de la finalizare.. alt design / organizare.. aceeasi chestie..

se da alt site.. tot de stiri sa zicem..
se foloseste un php in care se extrag datele din baza intr-o structura (array, obiect, nu conteaza).. si se assigneaza pt folosire in smarty..
in tpl.. un foreach.. si html..
alt design / structura.. acelasi php.. aceeasi structura de date.. alta folosire a ei..

din experienta spun ca timpul econoomisit cu asa ceva este enorm raportat la timpul total al proiectului..

de asemenea smarty mai stie diferite chestii care ii ajuta pe designeri (gen date_format, truncate, etc - adica setarea stilului de afisare a datei direct din tpl, dupa mine mai usor decat in php, trunchierea unui text.. la fel mai usor decat in php)

nu am folosit alte sisteme de templating avansate intrucat folosesc smarty de mult timp si am fost multumit (deci "no point to try another")

inca o idee.. pt un programator php e foarte usor de invatat smarty, iar timpul de acomodare este relativ scurt pt cineva cu o experienta minima.. prin urmare.. votul meu este pentru smarty (sau orice alt sistem decent de templating

edit:
am uitat.. e adevarat ca se consuma ceva mai multa memorie si procesor.. dar tot din experienta.. as zice ca nu se vede.. diferenta e insesizabila cu ochiul.. si foarte greu sesizabila la masuratori (evident.. daca nu cumva codul php are mari probleme de conceptie si consuma toata memora aiurea.. caz in care.. nu mai ramane si pt sistemul de templateuri)

Edited by john2381, 28 September 2006 - 22:36.


#8
Dever

Dever

    Member

  • Grup: Members
  • Posts: 416
  • Înscris: 13.07.2005

View Postjohn2381, on Sep 28 2006, 23:33, said:

puterea unui sistem de templateuri nu sta in chestii din astea simple (unde e evident mai usor sa folosesti direct php)
Multumesc pentru timpul acordat john2381 (ai scris ceva :) se vede ca iti place smarty)
Eu unul doar am citit cateva despre smarty (crash course-ul ca sa imi fac o idee) si vin cu o intrebare apropo de modificat design-ul si cu un exemplu din crash course (link: aici)
Se da un tabel la care se vrea alternarea culorilor de fundal si smarty zice asa:
<tr bgcolor="{cycle values="#eeeeee,#dddddd"}">
Presupunand ca am asa ceva in X template-uri de pagini si la un mom. dat vreau sa schimb designul respectiv culorile ... nu ar fi mai usor sa am definite 2 clase de CSS (gen par si impar) si sa modific CSS-ul ?
Imi scapa ceva in legatura cu smarty ? :confuzzled:

Later edit: probabil ca se face ceva de genul:
<tr class="{cycle values="par,impar"}">
:lol:
asa e cand nu casti ochii bine  -_-

Edited by Dever, 29 September 2006 - 08:55.


#9
Garfield

Garfield

    Active Member

  • Grup: Members
  • Posts: 1,200
  • Înscris: 20.11.2004

View Postjohn2381, on Sep 28 2006, 23:33, said:

puterea unui sistem de templateuri nu sta in chestii din astea simple (unde e evident mai usor sa folosesti direct php)
................
se da alt site.. tot de stiri sa zicem..
se foloseste un php in care se extrag datele din baza intr-o structura (array, obiect, nu conteaza).. si se assigneaza pt folosire in smarty..
in tpl.. un foreach.. si html..
alt design / structura.. acelasi php.. aceeasi structura de date.. alta folosire a ei..

Asa si? Te impiedica cineva sa faci asa ceva in php?

Din controller.php executi model.php, apoi rezultatul din baza de date il asignezi variabilelor din view.php.


De exemplu, pt un (exemplu de) guestbook pt care vrei sa afisezi Titlul mesajului, Continutul mesajului si Ora curenta (nu cea a mesajului).
In model.php citesti liniile din baza de date intr-un array $mesaje.
In controller.php o sa ai ceva de genul:
$datele_mele['mesaje'] = $mesaje; // <-- $mesaje contine liniile din baza de date
$datele_mele['ora_curenta'] = date(........);

Iar in view.php
<p>Ora curenta este <?=$ora_curenta?></p>

<?php if ($mesaje): ?>
  <?php foreach ($mesaje as $mesaj): ?>
  <p>
	Titului mesajului: <?=$mesaj->titlu?> 
	<br>
	Mesajul: <?=$mesaj->continut?>
  </p>
  <?php endforeach; ?>
<?php endif; ?>

Singurul pas de facut pe care nu l-am spus inca este ca, inainte de a executa view.php, toate variabilele mentionate in $datele_mele sa fie asignate. ;)

#10
Dever

Dever

    Member

  • Grup: Members
  • Posts: 416
  • Înscris: 13.07.2005

View PostGarfield, on Sep 29 2006, 11:01, said:

Asa si? Te impiedica cineva sa faci asa ceva in php?
Cred ca ar mai fi un avantaj de mentionat in a utiliza un template system (si aici o sa ma refer la cake php pe care l-am studiat mai bine) si anume NAMING CONVENTIONS.

Diferenta ar fi ca daca te uiti intr-un script facut de altcineva si nu este comentat iti poate lua ceva timp sa intelegi ce se intampla pe acolo, pe cand folosind un framework cum este cake totul este la locul lui si nu ai cum sa nu intelegi ce se intampla.
Un exemplu de conventii:
[b]Models[/b]

   1. Model class names are singular.
   2. Model class names are Capitalized for single-word models, and UpperCamelCased for multi-word models.
			Examples: Person, Monkey, GlassDoor, LineItem, ReallyNiftyThing


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate