Вы не зашли.
Ну так если пользователь ниче не введет, то с чем работать? >_>
Фух, вот как бы.
Код:
span style="color: #0000BB"><?phpclass PageMan{ const DEFAULT_RANGE = 3; private $_count = 0, $_page = 1, $_items = 10, $_pages = null, $_start = null; public function __construct() { } /** * Проверка числа на принадлежность к множеству натуральных. * @param integer $var * @return bool */ public function isNatural($var) { return (is_numeric($var) and 0 < $var); } /** * Регистрация общего кол-ва записей. * @param integer $count * @return pageMan */ public function setCount($count) { if ($this->isNatural($count)) { $this->_count = (int)$count; } return $this; } /** * Регистрация текущей страницы. * @param integer $page * @return pageMan */ public function setPage($page) { if ($this->isNatural($page)) { $this->_page -= (int)$page + 1; } return $this; } /** * Регистрация кол-ва записей на страницу. * @param integer $items * @return pageMan */ public function setItems($items) { if ($this->isNatural($items)) { $this->_items = (int)$items; } else if($this->_count) { $this->_items = $this->_count; } return $this; } /** * Расчет общего кол-ва страниц. * @return integer */ public function getPages() { if (null === $this->_pages) { $this->_pages = (int)ceil($this->_count / $this->_items); if (0 == $this->_pages) $this->_pages += 1; } return $this->_pages; } /** * Получение номера корректной текущей страницы. * @return integer */ public function getPage() { if (0 > $this->_page) { $this->_page = -$this->_page; if ($this->_page > $this->getPages()) { $this->_page = $this->_pages; } } return $this->_page; }//продолжение следует...} |
Отредактировано tipsun (2012.01.05 23:11)
убери из конструктора передачу параметров и мб сделай класс сингелтоном.
так же исправь вызовы isNatural
сам isNatural можно сделать таким:
return (is_numeric($var) and 0 < $var);
Gemorroj написал:
сам isNatural можно сделать таким:
return (is_numeric($var) and 0 < $var);
Круто. Тоже true/false возвращает.
Gemorroj написал:
так же исправь вызовы isNatural
ты запускал свой класс вообще?)
Неа
Я все редактиру, да редактирую.
Сейчас. Секунду.
- - - -
Синглтон (Singleton) тоже посмотрел, завтра добавлю, надеюсь.
Отредактировано tipsun (2012.01.05 23:11)
Хмм, я её даже переименовал, все. Все равно ошибку дает.
Fatal error: Call to undefined function kakaxa() in /usr/home/tipsun/ext/pageman/index.php on line 44
Если её убрать. То на следующий вызов так же говорит.
Чудеса и только...
Отредактировано tipsun (2012.01.05 23:11)
Ой. Совсем уже!!! $this->isNatural()
Добавлено спустя 2 минуты 55 секунд: Ща фишку тоже напишу и спать срочно.
Отредактировано tipsun (2012.01.05 23:11)
Все написал фишку #103, связана с
$this->_page и
$this->getPage()Не хотел использовать $_tmpPage
Расчитана на повторное использование getPage() чтоб лишний раз лишние функции не трогать
Оригинальный дебилизм
Все таки $_tmpPage проще намного. Потом переделаю.
Отредактировано tipsun (2012.01.05 23:11)