Kohana прави страницирането (pagination) повече от лесно
За разлика от CodeIgniter в Kohana страницирането работи и то работи повече от добре. Реализацията му е много елементарна и може да се сравни с пиене на кафе с красива девойка
Звучи много сладко нали?
Ами то си е точно такова. В момента работя по един уеб сайт за имоти, който има доста голяма функционалност и ми се наложи за пръв път да използвам страницирането, като очаквах нещата да станат доста тегави и мъчни, но за радост Kohanци отново ми поднасят голяма и приятна изненада.
Ето и един прост пример, който показва колко лесно може да я използвате:
[code lang="php"]
class Comments_Controller extends Controller {
protected $pagination;
...
public function index()
{
$num_per_page = 10;
$view = new View('admin/layout');
$view->include = 'comments/view';
$view->heading = 'Коментари';
$this->pagination = new Pagination(array(
'base_url' => 'admin/comments/index/',
'uri_segment' => 'index',
'total_items' => ORM::factory('comment')->select('*')->count_all(),
'items_per_page' => $num_per_page,
'style' => 'digg'
));
$offset = $this->pagination->sql_offset;
$view->comments = ORM::factory('comment')->select('*')->orderby('id', 'desc')->find_all($num_per_page, $offset);
$view->render(TRUE);
}
}
[/code]
Какво трябва да отбележим тук? Първо, че плъгина за оцветяване не ми работи
Това – ок! Но реално какво правим в горепосочения код – избираме си колко коментара искаме да имаме на страница, след което зареждаме пагинейшън библиотеката, избираме base_url, който в случая е admin/comments/index, избираме кой сегмент ще бъде определящия, като в случая сме избрали да е този след index, дори няма нужда да броите кой подред се пада, надолу ясно като style-a е дигг, нещо нестандартно на пръв поглед, но Kohana ни предоставя възможност да си изберем стил на показване! Съвсем лесно може да си направите и ваш собствен такъв. Беше лесно нали? И още как!
И какво все още ви спира да пробвате Kohana?
Между другото Kohana 3.0 се задава с пълна сила, като може да очаквате пренаписване на целия код, което съответно ще означава огромно подобравяне на скоростта, нещо, което в предишните си публикации казах, че очаквам и то вече е факт! Хелпърите и библиотеките вече стават класове. И най-важното – HMVC design pattern
Мога да кажа единствено Zend да треперят, задава се истински конкурент!
Прочетете още:






Марио Пешев 19 август 2009
ORM::factory(‘comment’)->select(‘*’)->orderby(‘id’, ‘desc’)->find_all($num_per_page, $offset)
Като изключа find_all функцията, другото изобщо не ми прилича на ORM, а по-скоро на ActiveRecord-а на Игнайтера. Иначе ще пусна просто демо с таблицата и страницирането на CI – в единия проект го ползвам и е пушка, пробвах го със 70 продукта и работи кадърно
Публикувай коментар (dofollow)
ТИ :)