I mam problem powiedzmy ze pobieram wszystkie news'y z bazy jest ich 15 i tablica w pliku cache wyglada mniej wiecej tak:
Kod
Array(
0 => array(
'id' => 1,
'tytul' => 'Pierwszy news',
'autor' => 'marcio'
),
1 => array(
'id' => 2,
'tytul' => 'Drugi news',
'autor' => 'vodka'
),
2 => array(
'id' => 0,
'tytul' => 'Trzeci news',
'autor' => 'FLash'
)
)
//itp dalesz 12 news'ow
0 => array(
'id' => 1,
'tytul' => 'Pierwszy news',
'autor' => 'marcio'
),
1 => array(
'id' => 2,
'tytul' => 'Drugi news',
'autor' => 'vodka'
),
2 => array(
'id' => 0,
'tytul' => 'Trzeci news',
'autor' => 'FLash'
)
)
//itp dalesz 12 news'ow
Ok nie ma problemu gdy chcemy pobrac wszystkie news'y.
Co jesli chce pobrac tylko pierwszym 5 na 1 strone potem od 5 do 10 na 2 wiem jak zrobic stronnicowanie nie o to chodzi, jednak nie wiem zabardzo jak zaprojektowac cache bym mogl tez na jego podstawie stronnicowac.
Mysle ze tak jak pokazalem jest good jednak nie jestem pewny.
Powiedzmy ze ten plik z tym array'em ktory pokazalem nazywa sie news.cache.php bez zadnych tagow.
Moglbym tak zaimplementowac funkcje getFromCache() bym mogl zrobic cos takiego:
//1 param: string id cache //2 param int index poczatkowy //3 param int index koncowy $pierwsze_5_newsow = $this -> cache -> getFromCache('news', $this -> router -> getParams(1)*5, 5);
Cos w tym stylu wtedy pobierze mi news'y z index'ami od 5 do 10 np.
EDIT:
Przyszlo mi do glowy jeszcze jedno rozwiazanie by plik robic jednak z tagami:
news|1-5.cache.php
Wtedy w metodzie getAllNews() pobieramy z url'a limit tak jak sie to zawsze robic i pobieram za pomoca tagu ktory wezme z url'a?
Co o tym myslicie?