View previous topic :: View next topic |
Author |
Message |
ToDD
Joined: 05 May 2005 Posts: 83 Location: Zagreb
|
Posted: 07.11.2005 23:36 Post subject: Template sistem |
|
|
ovako ljudi, neznam vam objasnit svoj polozaj- nisam pocetnik a nisam ono oke u phpu
uglavnom htio bi napraviti template sistem. nasao sam par tutoriala al su bili komplicirani ili nisu radili kako treba
znaci imam jedan html file sa dizajnom i u njemu {sadrzaj} {navigacija}
e sad {sadrzaj} zamijenit s includeom sadrzaj.php a {navigacija} s includeaom navigacija.php
moze li mi neko to objasniti malo. hvala |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 07.11.2005 23:50 Post subject: Re: Template sistem |
|
|
ToDD wrote: | uglavnom htio bi napraviti template sistem. |
nemas potrebe za izradom template sistema. Postoje vec izrazito kvalitetna i provjerena rjesenja za to. Osobno bi ti preporucio www.tinybutstrong.com template sistem. Brz, relativno malen i pouzdan. |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
ToDD
Joined: 05 May 2005 Posts: 83 Location: Zagreb
|
Posted: 07.11.2005 23:54 Post subject: |
|
|
hm, znam da ima, ali ja bi zelio to nauciti.
inace ne bi stavio ovdje topic |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 07.11.2005 23:56 Post subject: |
|
|
hm...imas tutoriale, imas source od minimalno 20 kvalitetnih opensource template sistema...sto tocno ocekujes da ce ti netko tu reci a da neces moci nauciti iz tih izvora? |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 08.11.2005 00:17 Post subject: |
|
|
ToDD, ovo što si tražio se može ovako izraziti:
Code: | $page = file_get_contents('todd.html');
$page = preg_replace('/{(\w+)}/e', 'file_get_contents(\'$1.php\');', $page);
echo $page; |
Simple as that. |
|
|
Back to top |
|
|
ToDD
Joined: 05 May 2005 Posts: 83 Location: Zagreb
|
Posted: 08.11.2005 00:39 Post subject: |
|
|
fala. probat cu top pa cu jos malo zakomplicirat i to mi je sve sto mi je trebalo.
jos jednom fala |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 08.11.2005 02:04 Post subject: |
|
|
Kad smo već kod template sistema, koji osobno koristite? |
|
|
Back to top |
|
|
bj__
Joined: 09 Nov 2004 Posts: 65 Location: Karlovac
|
Posted: 08.11.2005 02:28 Post subject: |
|
|
koristim PHPlib, uz neke male modifikacije... jako zadovoljan |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
|
Back to top |
|
|
/dev/null
Joined: 22 Dec 2004 Posts: 144
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 08.11.2005 15:13 Post subject: |
|
|
ja sam nakon 3mjeseca isprobavanja, i pocetka programiranja svog enginea se odlucio za tinybutstrong...i moram priznati da je stvarno izvrstan |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 08.11.2005 22:35 Post subject: |
|
|
Brian Lozier u članku kojeg sam linkao obraća puno pažnje Smarty-u ... i objašnjava zašto ga je u nekim postavama glupo koristiti.
Netko tko odlično poznaje PHP ne bi trebao učiti zaseban 'templating jezik' (kao što Smarty zahtijeva) samo da bi odvojio prezentacijsku logiku od aplikacijske. Dodajmo još tome golemi overhead koji donosi Smarty i imamo templating engine koji je sam po sebi veći i kompliciraniji od aplikacije koju smo templatingom htjeli pojednostaviti.
Smarty bi preporučio u situacijama kad je site kojeg treba složiti jedan solidan komad weba (čitaj: malo veći site) i kad programeri nemaju nikakve veze sa client-side dijelom svega toga kojeg uostalom uređuju dizajneri bez poznavanja PHP-a. FERweb nikada ne bi radio bez Smartya. |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 08.11.2005 22:52 Post subject: |
|
|
Jako dobar članak, točno tako nešto sam tražio... moje razmišljanje je isto bilo, zar je stvarno potrebno inkludati tolike klase i "učiti" novi jezik za tako nešto...
btw, već si par puta spomenuo ferweb, imaš li ti kakve veze s njim? |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 09.11.2005 01:20 Post subject: |
|
|
Osim što je to moj fax, službeno sam član ferweb team-a ali sam trenutno svojevoljno u pričuvi (čitaj: nikako ne nalazim vremena)
Znam njegove internalse iz brojnih razgovora sa kolegama koji su ga napravili, zato govorim kao primjer. Makar oni koji rade client-side poznaju PHP Smarty im ipak pomaže da se site toliko scale-a. Ali rijetko je koji site baš toliki |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 09.11.2005 08:26 Post subject: |
|
|
Heh, odlično, onda mi možeš reči i koga mogu udaviti oko tog site-a, neke stvari su mi fakat bedaste.... btw, pozdrav, kolega! |
|
|
Back to top |
|
|
budha
Joined: 02 Mar 2004 Posts: 1377 Location: Osijek
|
Posted: 09.11.2005 11:43 Post subject: |
|
|
ljudi, jer bas sve moramo ponovo
jel toliko tesko napraviti par klikova, ili koristiti search? |
_________________ I hate to advocate drugs, alcohol, violence, or insanity to anyone, but they've always worked for me. |
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 09.11.2005 11:53 Post subject: |
|
|
Naravno da ne moramo, sjećam se tog thread-a, uostalom i postao sam tamo, no trendovi se mijenjaju, mijenjaju se navike, prošlo je već godinu dana...
Npr., ja sam svoje mišljenje promijenio... |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 14.02.2006 11:19 Post subject: |
|
|
Možeš li napisati u kratko što si mijenjao?
Napokon sam ulovio malo vremena poigrati se s dotičnim, i ovaj clean & simple pristup mi se jako sviđa. Međutim ima jedna stvar koja me muči.
Vrlo ja pametna ova klasa i kuži kada čitavu varijablu zamjenjujem novim objektom, da treba i taj objekt "sparsati". Međutim, što ako imam template u koji nema nikakvih varijabli (dio stranice koji je fiksan)? Kako klasa koristi funkciju extract, to ju malo zbrejka.
Da li bih trebao pročitati "ručno" sadržaj tog file-a pa ga dodijeliti nekoj varijabli u glavnom templateu ili ? Jerbo mi se ovo baš i ne čini najbolje riješenje... |
|
|
Back to top |
|
|
gog
Joined: 18 Jun 2004 Posts: 679 Location: zagreb
|
Posted: 17.02.2006 18:03 Post subject: |
|
|
Našao sam, ili bolje reči kontaktirao sam autora koji mi je ponudio riješenje...
na početku klase treba zamijeniti sa
Code: | var $vars = array(); |
|
|
|
Back to top |
|
|
_butch
Joined: 10 Sep 2003 Posts: 870 Location: Maichno, Krlovc
|
Posted: 18.02.2006 11:38 Post subject: |
|
|
Koristio sam ja u pocetku Smarty, koji je ok jerbo ima ogromni doc i tako neke stvarcice koje te ucine glupim i ne mos razmisljat.
Kasnije sam presao na phpLib, al nisam imo vremena pisati neke male modove za njega pa sam se ustalio na patTemplateu.
Po meni jedan veoma solidan templating sistem, xml like syntax u templateu, jako pregledan. i ful logicke funkcije za razliku od smarty-a..
Kod smarty-a me smeta to sto pokusava biti i templating system i poseban jezik, neka cudna podvrsta php-a. Nama ne trebaju podvrste, ocemo ciste templating engine.
Ako hoces koristiti templating engine -
phpLib ili patTemplate |
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms! Flikrac |
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
Posted: 30.08.2008 14:23 Post subject: |
|
|
Izvlačim iz naftalina, ali s razlogom
Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html
- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.
Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo. |
_________________ [+]I[+]am[+]my[+]own[+]religion[+] |
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 30.08.2008 15:31 Post subject: |
|
|
zytzagoo wrote: | Izvlačim iz naftalina, ali s razlogom
Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html
- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.
Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo. |
Ovo zvuci zanimljivo al osobno sam zagrizao za smarty, za sad mi se pokazao u svemu odlican. |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
|
Back to top |
|
|
Tristan
Joined: 01 Aug 2006 Posts: 614 Location: Under the sky
|
Posted: 30.08.2008 16:30 Post subject: |
|
|
Ovaj Blitz se čini super. Smarty je problematičan kad trebaš naučit dizajnera koji nema osnove programiranja da ubaci foreach petlji ili sekciju da bi mu sustav prikazao vijesti. Kad to nauči, ubrzo ga možeš naučit da trpa te sve vijesti iz arraya sa native phpom. |
_________________ Carpe diem... |
|
Back to top |
|
|
nevio
Joined: 25 Dec 2007 Posts: 173 Location: New Jersey / Rijeka
|
Posted: 21.09.2008 00:32 Post subject: |
|
|
zytzagoo wrote: | Izvlačim iz naftalina, ali s razlogom
Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html
- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.
Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo. |
NEvezano za tengine, ma bilo bi prehebeno 90% sajta bacit kao php ekstenziju. To bi bilo brzo lol XD
koristim ako bas moram smarty inace imam svoje template engine di pristupam elementima preko objakata
Evo ako zelite nesto presimple brzo za napravit bas mi se pisu klase pa da roknem neku netestiranu sad tu iz glave vamo:
p.s. Ako zelite klasu napravit da je extensible u oba smijera onda maknut final prije class deklaracije
Code: |
final class templateEngine
{
/**
* Di ce bit poslozeni elementi nekog page-a. Ostavi null;
*
* @var probably array
*/
protected static $elements = array();
/**
* Instanca objekta... pusti vraziju varijablu da je null
*
* @var unknown_type
*/
protected static $instance = null;
/**
* Di se nalazi path do svih fajlova?
* Moze biti ovaj koji bi recimo bio default da ne morate
* opet metodu pozivat i da trosite bespotrebno resource...
* no ak bas ocete imate metodu setBasePath() pa se igrajte.
*/
private static $_basepath = "nekakav/path/do/jezika/";
/**
* Ekstenzija fajla... Recimo da ovo nije potrebno no svejedno neka
* i ovo napisemo
*/
const LANG_FILE_EXTENSION = ".php";
/**
* Ajmo roknut objekat tako da je siglenton a ne da svaki puta
* novi drek otvaras... no nije ni potrebna ova funkcija al svejedno lol...
*
* @return self
*/
public static function getInstance()
{
if ( ! self::$instance )
self::$instance = new self;
return self::$instance;
}
/**
* Postavi novu putanju do roota templejtova...
*
* @param string $path
*/
public static function setBasePath($path)
{
if (! is_dir ( $path ) )
throw new Exception( "De provjeri putanje malo :)" );
if (! self::$_basepath )
self::$_basepath = $path;
return self::$_basepath;
}
public function loadTemplate($name)
{
// ajmo ocistit staticnu varijablu.
if ( self::$elements )
self::$elements = array();
$path = self::$_basepath . $name . self::LANG_FILE_EXTENSION;
if (! file_exists( $path ) )
throw new Exception("Trenutacni jezicni templejt ne morem pronac... Joj meni kuku lele!");
// nasal ga je co! Gremo ga nekako sad srokat...
require_once $path;
// imas primjerice unutar fajla varijablu
// $lang['nekakavnaziv'] = "Lore ipsum dolor sit amet";
self::$elements = $lang;
// neznam zasto no eto ga... bezveze sam tu reci
return self::$elements;
}
/**
* Ahjmo ga magicno nekako dobit back...
*
* @param string $name
* @return string
*/
protected function __get($name)
{
return self::$elements[$name];
}
}
|
Recimo da bi ovo sljakalo koliko ja znam i vidim no nisam testirao nista...
Sad kako importat sve to skupa....
Recimo index.php templejt fajl zelite pozvat te iz njega vas title zanima
Code: |
// to stavis primjerice u bootstrap fajl ( za one koji znaju di i sta... inace digod i zanemari ovaj koment )
// ovo je samo poziv da se klasa instancira.
$template = templateEngine::getInstance();
// gremo loadirat fajl koji nam treba
$template->loadTemplate("index");
// ajmo sad izbacit title
echo $template->title;
// ovo bi po meni bilo nesto simple nad totalno simple a da ipak nije ono neki drek require_once samo pa loadiraj iz
// array-a. Ovo bi se jos dalo napravit da extendas objekat sa ArrayObject pa se malo zabavis jos i bolje, pa
// da malo ga napravis da pamti neke stvari malo bolje i pretvoris primjerice index u doslovno objekat te ga
// kao takvog jednom instanciras i vise ne... ili ti ga observer pattern.
|
ev pa nek me netko ubije... no bas sam dobio voljnu napisat ovo koliko god da noobovski bilo. |
_________________ http://hr.linkedin.com/in/neviovesic |
|
Back to top |
|
|
|