Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
Electrica Furnizare + Poșta ...

Probleme cu scurgerea de ulei pe ...

Blocuri cu apartamente de 5+ camere

Casa noua finisata, teava incalzi...
 Ce marca si model de DVD-RW sa cu...

Achizitie camera video auto (II)

Baza de date cu imagini pe bani

Robotul martian european, revigor...
 Are cineva o inregistrare Radio R...

Geoana: „Sistemul de vot es...

Imprimare mai multe pagini intr-o...

trebuie sa depun declaratie unica...
 Ruse vs Rusesti

Le mai putem da pe brazda? tipsuri

Recomandari gips carton tavane. (...

ce fel de activitate intretinere ...
 

Templating systems

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
9 răspunsuri în acest subiect

Sondaj: Templating system (18 membri au votat)

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

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

    Procentaj al voturilor: 11.11%

  2. Smarty (3 voturi [16.67%])

    Procentaj al voturilor: 16.67%

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

    Procentaj al voturilor: 0.00%

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

    Procentaj al voturilor: 0.00%

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

    Procentaj al voturilor: 11.11%

  6. Altul (4 voturi [22.22%])

    Procentaj al voturilor: 22.22%

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

    Procentaj al voturilor: 38.89%

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

    Procentaj al voturilor: 0.00%

Votează Vizitatorii nu pot vota

#1
Dever

Dever

    Member

  • Grup: Members
  • Mesaje: 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
  • Mesaje: 7.068
  • Înscris: 21.10.2005
nu folosesc (inca) nimic , mi se pare greoi pt un cms simplu

#3
Dever

Dever

    Member

  • Grup: Members
  • Mesaje: 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
  • Mesaje: 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
  • Mesaje: 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
  • Mesaje: 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. :)

Editat de Garfield, 28 septembrie 2006 - 19:42.


#7
john2381

john2381

    Junior Member

  • Grup: Members
  • Mesaje: 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)

Editat de john2381, 28 septembrie 2006 - 22:36.


#8
Dever

Dever

    Member

  • Grup: Members
  • Mesaje: 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  -_-

Editat de Dever, 29 septembrie 2006 - 08:55.


#9
Garfield

Garfield

    Active Member

  • Grup: Members
  • Mesaje: 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
  • Mesaje: 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

Bun venit pe Forumul Softpedia!

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

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