Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ovaj Smarty je odlicna stvar

[es] :: PHP :: Smarty template engine :: Ovaj Smarty je odlicna stvar

Strane: 1 2

[ Pregleda: 9525 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

extramedia
Nemanja Milenkovic
Padinska Skela

Član broj: 78055
Poruke: 95
*.wifi.gonet1.co.yu.



Profil

icon Re: Ovaj Smarty je odlicna stvar30.05.2007. u 12:04 - pre 205 meseci
E ovaj Smarty bas i nije nesto narocito odlicna stvar i to iz nekoliko razloga.

1) Zauzima resurse bez veze.

Primer: Aplikaciju koja je u stvari pomocu echo komande davala HTML browseru (sto je inace glupo resenje) je trebalo prebaciti u Smarty. Prilicno obiman posao koji se sveo na pisanje aplikacije od pocetka... e sad... i to je zavrseno. Primera radi stranica u predhodnoj verziji je parsovana za 0.005 sekundi dok je istoj stranici uz pomoc Smarty-ja trebalo 0.05 sekundi, dakle 10 puta vishe!!!! Pogodite sta se dalje desilo... odustalo se od upotrebe Smarty-ja naravno.

2) Odvajanje "programiranja" od "dizajna" ???

Sta je u stvari programiranje? Pisanje algoritma u odredjenoj sintaksickoj formi razumljivoj kompajleru programskog jezika u kome se pise, zar ne? Dakle i Smarty je neka vrsta "programiranja" odnosno implementiranja algoritamskih celina (uslovnih grananja, visestrukih grananja, petlji ovakvih i onakvih... etc.)

Pa dragi moji "dizajneri" u cemu je stos? Plasite se da koristite "<?" umesto "{"... ili "<?=$pera?>" umesto "{$pera}" ili ...grananja i petlje da i ne pominjem.
Btw.. dizajneri u glavnom rade u DreamWeaver-u, koji i te kako odvaja PHP od HTML-a ako nicim drugim, onda bar bojom u kodu sto nije slucaj sa Smarty kodom. E sad.... ako neki dizajner i dalje u kodu ne razlikuje PHP od HTML-a.. ocno je malo nize niz ulicu i radi do 16h

3) Default delimiter-i u Smarty-ju su bash glupi.

Ok, ovo je vise kao sporedna zamerka jer se vrlo lako da promeniti... ali sve u svemu... ako je tamo neki "dizajner" bas navikao na "{}" onda ce tesko napisati neki JS kod, zar ne?


Rezime:

Sve u svemu, Smarty je, kao sto je neko ovde vec lepo rekao "sarena laza za dizajnere" i ja se u potpunosti slazem s tim.

Ne razumem u cemu je problem koristiti logiku razdvajanja "programerskog" i "dizajnerskog" dela uz pomoc samog PHP-a?
Evo primera u 3 fajla:
1) index.php
<?
require_once('inc/inc.index.php');
require_once('template/template.index.php');
?>

2) inc.index.php
<?
$naslov = 'Home page';
$user = 'Pera';
?>

3) template.index.php
<title><?=$naslov?></title>
<p>Dobrodosli, ulogovani ste sa korisnickim imenom: <?=$user?></p>


Ovaj treci fajl nema bash kompletan HTML u sebi, ali nadam se da ste razumeli logiku. Ovakvu logiku koristim vec nekoliko godina, i nema te sile koja ce da me ubedi da je dizajneru lakse da savlada i koristi Smarty nego PHP, a kamoli da me ubedi da je Smarty bolji od samog programskog jezika u kome je pisan... apsurd!
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
77.46.156.*



+218 Profil

icon Re: Ovaj Smarty je odlicna stvar21.07.2007. u 13:44 - pre 203 meseci
Smaty i Joomla se ne mogu porediti. Babe i zabe.
Sta je bolje Winamp ili photoshop?
Ukratko koja je glavna ralika izmedju smartija i joomle (CMS).
Ako nesto radis u smartiju moras da znas programiranje php i html, JS....
a ako radis u Joomli moras da znas da klikces.
Drugo, nema sanse za isto vreme nauciti smarti i php.

Sta fali joomli? To mogu biti mali projekti za male pare.
Masa " Joomla programera" kada treba da se nesto odradi na zahtev korisnika,a zasta nema totalno isti plugin, pobegne od projekta
i onda nadju nekog programera pa ih dodavanje ili ispravka malog dela sajta kosta vise nego sam sajt.
Zasto? Pa jer tamo su 1000 redova koda koji nista ne rade, jos 50 fajlova i direktorijuma koji nicemu ne sluze.
Ti u smartiju imas totajnu slobodu kao i u PHP-u. Imas i u joomli ali kolika je cena te slobode, a tek kada nidjes na bug...


@extramedia:
Citat:
1) Zauzima resurse bez veze.

Generisanje koda u Smarty-ju jeste sporije ali to nije usko grlo na serverima.
Komotno HTML kood Smarty moze da generese i 100X sporije ali to na velikom prezentacijam se nece osetiti.
Na sajtu koji ima preko 100.000 poseta mesecno i koji je radi uz pomoc Smarty-ja (ne u Smarty-ju) i jos ima dosta prezentacija na hostu
uspravanje nastaje prilikom citanja i pisanje u bazu, obradi slika... net..
Na flickr se upload-je 2000 slika u minuti i oni opet rade u smartiju.
A imas i kesiranje...
Necu da navodim sajt i ime firme ali sajt u smarty-ju je imao problem to sto je bio spor.
Uradjen je ponovo cist php, direktene naredbe a brzina je ostala ista...
Danas svaki sajt ima analitiku, reklame, sllike, flash. To sve mnogo usporava a ne smarty.


@extramedia:
Citat:
Sta je u stvari programiranje?

Sta je u stvari modularno programiranje?
Razdvajanje projekata ne njegove logicke celine nije samo moda vec i potreba, opravdana potreba.

@extramedia:
Citat:
Ok, ovo je vise kao sporedna zamerka jer se vrlo lako da promeniti... ali sve u svemu... ako je tamo neki "dizajner" bas navikao na "{}" onda ce tesko napisati neki JS kod, zar ne?

I ako govoris o navikama, to ne znaci da se nevike ne mogu menjati niti da su sve navike dobre.
Sta ako je neki dizajner navikao da ne radi, onda ce tesko napisati neki JS kod, zar ne?
Dizajner ne pise JS kod, zar ne? To je programiranje, zar ne?
Mislim ako jedna zagrada prestavlja problem onda ...

@extramedia:
Citat:
3) Default delimiter-i u Smarty-ju su bash glupi.

Znak < za otvaranje html taga je bas glup, zar ne? Bolje je "adadrrwqw".

@extramedia:
Citat:
Btw.. dizajneri u glavnom rade u DreamWeaver-u, koji i te kako odvaja PHP od HTML-a ako nicim drugim, onda bar bojom u kodu sto nije slucaj sa Smarty kodom.

Moze da odvoji i smarty kod.


Cela poenta smarty-ja je razdvojiti dizajn i logiku. Smarty-jeste prerastao u nesto malo vise od toga, ali ne koristim takve stvari i ako su neke jako korisne.

Vecina kritika upucenih smartiju su neopravdane i od ljudi koji su samo probalil a nisu radili.
Ako je neko navikao na neke druge stvari neka ne kritikuje nesto na sta ne zeli da se navikava zato sto ga mrzi, nije dovoljno video i probao

Dizajneru je dovoljno da nauci foeach petlju i if-else.

Meni se isto smarty cino bezpotreban ali sam silom prilika morao da ga naucim (mislim ucenje, procitao sam tutor za 2 sata)
i posle samo 2-3 meseca vec sam toliko se navikao na njega da kada moram da redizajniram neki sajt koji je cist php onda siznem.
A o Joomli da ne pricamo.

Redizajn sajta je mnogo olaksan.
Dizajner treba da zna sveka par naredbi bez neke velike logicke komplikacije.
Mada sve zavisi na kojem se nivou ovo razdvoji.



[Ovu poruku je menjao VladaSu dana 21.07.2007. u 17:10 GMT+1]
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: Ovaj Smarty je odlicna stvar14.10.2007. u 22:47 - pre 201 meseci
Cekaj, meni stvarno nije jasno nesto - Kome se ne svidja smarty ne mora ni da ga koristi ?? Ne vidim uopste u cemu je tu problem .... Ok, covek je pitao, koje su prednosti Smarty-ja i da li prelaziti na njega,... Kapiram da svako ostavi svoje misljenje o tome da je bezveze, ali to treba da ostane na nivou licnog misljenja, a ne da ubedjuje druge o tome... Bar ja tako mislim ....

Ja licno Smarty koristim evo vec 3 dan :P :P Pre toga sam radio neki projekat, u kome je bio izmesan HTML kod i PHP. Mozete misliti na sta je to licilo, jer sam krenuo sa idejom da to bude CMS ( ako nekog zanima da se malo nasmeje, mogu da okacim pojedine delove :P :P ) .... Posto sam relativno pocetnik u PHP-u ( malo jace od godinu ipo dana iskustva ), ziveo sam sa ubedjenjem da je to jedini nacin za realizaciju projekta ... Posle vidim da se stalno prica o Template Engine-ima, Smarty-ju, .... Al bas nisam bio za to ( uciti nesto novo, ma nema te sile ). Al eto, pre par dana se zainteresovah za Smarty i posle mozda sat vremena ( ako ne i manje ) citanja Basic Tutorial-a, uso sam malo u materiju. Posle par sati sam shvatio koliko je jednostavan ....

Evo za primer, prethodni kod za ispisivanje menija:

Code:

<?php 
    $result = mysql_query("SELECT ID, vrednost, link, meniNum, parametar FROM meni WHERE naziv = 'dugme' GROUP BY meniNum ") or die(mysql_error());
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
      // Proveri da li ima sub-kategorije ili ne?
        if ($row['parametar'] == 1) {
          // Ima sub-kategorije, tako da prikazi strelicu na dole 
          echo '<DT><p class="meni"><strong><big> ▪</big> ' . $row['vrednost'] . '</strong></p></DT>';
          // Sada uvodimo while petlju koja ce prikazati sub-kategorije
            $meniID = $row['ID'];
            $res = mysql_query("SELECT vrednost, link, meniNum, parametar FROM meni WHERE naziv = '$meniID' GROUP BY meniNum ") or die(mysql_error());
            
              while ($row1 = mysql_fetch_array($res, MYSQL_ASSOC)) {
                echo "<DD><p class='meni'><small>▫ </small><a href='". $row1['link'] . "'>" . $row1['vrednost'] . "</p></a></DD>";
                }
        }
        // Ukoliko nema sub-kategorije, onda prikazujemo kao obican link u meniju
        else {
          echo "<p class='meni'><big> ▪ </big><a class='meni' href='" . $row['link'] . "'><strong>" . $row['vrednost'] . "</a></strong></p>";
         
        }
        }
    
    ?>


A evo sadasnjeg koda za ispisivanje istog:

Index.php:

Code:

// Ucitaj config file
  include('config.php');
  //Sada cemo da ucitamo dugmice iz menija :-)) 
  $index = new index();
  $index->meni();

  $smarty->assign('upit', $index->upit);


Index.tpl:

Code:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
              <p>{section name=broj loop=$upit start=1}

                {if $upit[broj].parent < 1}

                <tr><td valign="top" class="meni" align="center">
                <a href="{$upit[broj].link}" class="meni">{$upit[broj].vrednost}</a>
                </td></tr>
                {/if}
            
                {section name=child loop=$upit start=0}

                {if $upit[broj].parent < 1 AND count($upit[broj][child].vrednost) > 0}

                <tr><td valign="top" class="meni" align="left">

                <a href="{$upit[broj][child].link}" class="submeni">{$upit[broj][child].vrednost}</a>

                </td></tr>
               
                {/if}

                {/section}
             
                {/section}          </p>
              
                
                 
                
            </table>


Evo jos jedne konstatacije sa strane pocetnika u programiranju:

Link u smarty-ju:
Code:

<a href="{$upit[broj][child].link}" class="submeni">{$upit[broj][child].vrednost}</a>


Isti kod bi bez Smarty-ja izgledao ovako:
Code:

<a href="<?php echo $upit[broj][child][link]; ?>" class="submeni"><?php echo $upit[broj][child][vrednost]; ?></a>


Pa jos i dodatne opcije (modifiers) koje omogucavaju jednostavniji rad sa stringovima: http://smarty.php.net/manual/en/language.modifiers.php

Mislim, nisu mi jasni ljudi koji idu logikom: "Zasto ici laksim putem, kad mozes tezim ......" ?? Kad se vec neko potrudio da olaksa rad programera i dizajnera ( a dosta veoma iskusnih ljudi sa ovog foruma potvrdjuje to ), zasto ne iskoristiti to ??




 
Odgovor na temu

[es] :: PHP :: Smarty template engine :: Ovaj Smarty je odlicna stvar

Strane: 1 2

[ Pregleda: 9525 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.