Форум → Программирование → Пыхнуть хотите? → Готовые решения → Пагинатор, нах
Пагинатор, нах
Страницы: ← Предыдущая страница →
-
-
26 апреля 2012 г. 17:10, спустя 3 минуты 46 секунд
Я вот не пойду зачем делать такие неймспейсы Pager\Pager ?
Потому что Pager - неймспейс пагинатора в котором множество классов, один из которых Pager.
Мне тоже глаза немного режет, но что делать. В нашем прекрасном питоне тоже так module.Class (даже если там один класс всего).Спустя 149 сек.захламлять конструтор вот той хуетой которая в нем не имеет никакого смысла.
можно сделать public function init() который будет явно вызываться и своим названием както сообщать нам то, что он делает.
захламлять конструктор хуетой небезопасно, так как в нем есть какаято неведаная хуйня которая может повредить созданию обьекта.
рильни хуита какая-то, пардон.
неведомая хуита может и в init().именно
Извини, но здесь бы подошла фраза типа "мне нравится вот так пиздатенько писать в строчку", а никак не "надо так писать".
В приведённых же тобой методах это вообще незачем. -
26 апреля 2012 г. 17:14, спустя 3 минуты 12 секунд
kostyl
vasa_c, есть абстрактные классы и всё такое, ну это уже каждому своё.
ну есть и чо?
да в принципе ничё, это я к тем методам которые можно переопределить но они ничего не делают в базовом классе. В теории )) если такая шутка получается то это не правильно вроде как…Хелпер Env - private $GETArray; это же приват, нах с большой буквы? во я доебался )))
Потому там сохраняется GET.
это про наименование, я бы назва $phpGetArrayМне тоже глаза немного режет, но что делать.
go\Helpers\Pager\Helper.php -
26 апреля 2012 г. 17:19, спустя 4 минуты 57 секунд
да в принципе ничё, это я к тем методам которые можно переопределить но они ничего не делают в базовом классе. В теории )) если такая шутка получается то это не правильно вроде как…
приведи код, какая у меня должна быть иерархия классов, чтобы чётко соответствовать теории.это про наименование, я бы назва $phpGetArray
Но это и так PHP, там всё PHP :) зачем добавил, просто чтобы camelCase соблюсти? Но создатели пыха назвали эту переменную $_GET и нам с этим жить.go\Helpers\Pager\Helper.php
Почему Helper, когда это не хелпер, а пагинатор? -
26 апреля 2012 г. 17:35, спустя 16 минут 17 секунд
приведи код, какая у меня должна быть иерархия классов, чтобы чётко соответствовать теории.
честно говоря, влом, я просто подумал что вдруг там может быть абстракт, но я не настаиваю, а типа говорю мол можнет быть можно как то так…Но создатели пыха назвали эту переменную $_GET и нам с этим жить.
не, надо camelCase соблюсти, а не жить с каличным наименованием ))Почему Helper, когда это не хелпер, а пагинатор?
Судя из этого go\Helpers\ - тут все хелперы, поэтому это Хелпер-пагинатор, а не просто пагинатор -
26 апреля 2012 г. 17:42, спустя 6 минут 37 секунд
go\Helpers\Pager\HelperPager - так лучше?честно говоря, влом, я просто подумал что вдруг там может быть абстракт, но я не настаиваю, а типа говорю мол можнет быть можно как то так…
спезданул - иди до конца!! -
26 апреля 2012 г. 17:49, спустя 7 минут 7 секунд
go\Helpers\Pager\HelperPager - так лучше?
да. Дело в том, что неймспейс Pager инкапсулирует в себе набор компонент, один из который непосредственно играет главную функцию. По этой парадигме называть класс в Pager.php Pager не катит, потому как он не особо отдельная компонента, раз у ж в нём есть строка неймспейса. Поэтому go\Helpers\Pager\*Pager не катит в таком случае. \Pager\HelperPager лучше чем \Pager\Pager но всё равно не то. Возможно будет лучше go\Helpers\Pager\Model, но мой идеал go\Helpers\Pager\Helper )) -
26 апреля 2012 г. 17:56, спустя 7 минут 14 секунд
мой идеал - go\Helpers\Pager\Pager
или go\Helpers\Pager, который является и классом и неймспейсом для второстепенных компонент. но об этом остаётся только мечтать. -
26 апреля 2012 г. 17:59, спустя 3 минуты 22 секунды
спезданул - иди до конца!!
посмотрел, внимательнее, чесно говоря если уж так ООП преследовать то надо вместо метода loadItems внедрить какой-нить go\Helpers\Pager\ItemsLoader, но это не согласуется с твоей архитектурой (задумкой), просто пейджер должен по умолчанию тогда брать что то из этого метода, а наследик брать своё. Я думаю что пагинатор просто должен считать, а не лоадить данные…Спустя 88 сек.я не говорю, что у тебя хуёвая архитектура, просто она частная )) -
-
-
-
26 апреля 2012 г. 21:53, спустя 2 часа 40 минут 58 секунд
Че вы выябываетесь?/**
* @static
* @param int $total
* @param int $count
* @param int $page
* @return array
*/
public static function paginate($total, $count = 30, $page = 1)
{
$start = $count * ($page - 1);
$prev = (($page - 1) > 0) ? $page - 1 : false;
$pages = ceil($total / $count);
$next = (($page + 1) <= $pages) ? $page + 1 : false;
$error = ((!$next && !$prev) or ($prev >= $pages) or ($page < 1));
return $error ?
array(
'prev_id' => false,
'next_id' => 2,
'total_pages' => $pages,
'current_id' => 1,
'offset' => 0,
) :
array(
'prev_id' => $prev,
'next_id' => $next,
'total_pages' => $pages,
'current_id' => $page,
'offset' => $start,
);
}
Зачем усложнять?
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!