[ Hose_armando @ 04.10.2011. 14:01 ] @
Treba pomocu template i page klasa da napravim neki kao mali dinamicki sajt za seminarski.Tu ce mi trebati i klasa za bazu podataka koju sam nasao na netu,skinuo i u sustini razumeo kako funkcionise.
Medjuti klase template i page su mi skoro u celosti nejasne.Koliko sam razumeo templejt klasa nam omogucava da vidi isti raspored ali razlicite podatke za svaki artikal ili svakog korisnika.U okviru nje se zamenjuju tagovi adekvatnim sadrzajem.
Jasno mi je bilo kako to funkcionise izvan objekto orijentisanog programiranja kada umesto nekog sadrzaja koristice funkciju include pozovemo neki kod za odredjeni deo strane npr: header ali u OOP mi je potpuno nejasno.
Koliko sam razumeo klasa page nam omogucava da vidimo stvarni sadrzaj sablona odnosno njegove podatke.
Ako neko moze da mi da najjednostavniji primer kombinovanja ove dve klase bez nekakvih dodatnih klasa i elemenata MVC koncepta php programiranja.Lakse ce mi biti na jednostavnom primeru da razumem kako i gde se ubacuje stvarni sadrzaj i kako se on menja.Ako vas mrzi da mi uradite neki svoj jednostavan primer onda vas molim da mi date link ka nekom tutorijlalu u kojem cu razumeti kako sve ovo funkcionise.
Ovo je jedna od funkcija iz neke template klase koju sam nasao i koja mi nije jasna.
Ako vam nije tesko,mozete li da mi je objasnite?
public function buildFromTemplates() //Podesavanje sadrzaja na osnovu broja sablona
{
$bits = func_get_args();
$content = "";
foreach( $bits as $bit )
{
if( strpos( $bit, 'views/' ) === false )
{
$bit = 'views/' . $this->registry->getSetting('view') . '/templates/' . $bit;
}
if( file_exists( $bit ) == true )
{
$content .= file_get_contents( $bit );
}
}
$this->page->setContent( $content );
}


Nadam se da ste me razumeli i da cete mi dati odgovor.
Unapred hvala svima.


[Ovu poruku je menjao Hose_armando dana 04.10.2011. u 15:12 GMT+1]
[ Hose_armando @ 12.10.2011. 17:15 ] @
Ja recimo ne vidim sta ti je tu nejasno :)

Joomla ti je recimo jedan od primera, otvori bilo koju komponentu i videces da ima View koji iz tmpl foldera ucitava sadrzaj.

Page ti je u principu samo promenljiva Template klase to je cela ideja. Page medjutim moze da se instancira na X nacina i tako proizvede razlicit HTML ispis (sadrzaj stranice).

I onda imas jednostavno:

Code:

class Template()
{
 var $page
 function setPage($page)
 {
  $this->page = $page;
 }
 function renderTemplate()
 {
   if (isset($this->page))
    {
       echo $this->page->render();
    }
   else
    {
       die('Page not defined');
    }
  }
}


I imas klasu page:
Code:

class Page()
{
   function render()
  {
     echo "Hello, Im Sam. Who are you? :)";
     
  }
}



I da to sve smuckamo na stranici:

Code:

<?php
   $template = new Template();
   $template->page  = new Page();
   $template->renderHTML();


To bi bilo to, nadam se :)
[ Shevchenko @ 12.10.2011. 17:22 ] @
A posto sam ovo gore postovao kao Gost sad ne mogu da se ispravim :) Zaboravio sam zatvarajuci tag ?> :)