#1 2011.01.24 03:48

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Класс навигации [ByVlad]

Как-то ночью спать не хотелось, решил написать свой мини-фреймворк, написание остановилось в ту же ночь  big_smile.
Написал класс навигации, часто встречал циклы в навигациях, не захотел их юзать...
Смотрите, комментируйте, используйте, ругайте )
==
Использование:
$pages = new Pages($total, $set['page'],  'module/page');
$pages -> run();
==
Файл вложил в аттачмент


Вложения

Отредактировано ByVlad (2011.01.24 03:49)

Неактивен

#2 2011.01.24 06:38

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];
тут достаточно просто

Код:

1
span style="color: #0000BB"><?php$this -> page = empty($_GET['page']) ? 1 : (int)$_GET['page'];?>

ну и дофига велосипедов типа: !in_array($this -> page, array(1, 2, 3))
Указывай к методам и свойствам какие они должны быть приватные или публичные...
З.ы что за метод sql который нигде не используется в дальнейшем?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#3 2011.01.24 18:10

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

Nu3oN написал:

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];
тут достаточно просто

Код:

1
span style="color: #0000BB"><?php$this -> page = empty($_GET['page']) ? 1 : (int)$_GET['page'];?>

ну и дофига велосипедов типа: !in_array($this -> page, array(1, 2, 3))
Указывай к методам и свойствам какие они должны быть приватные или публичные...
З.ы что за метод sql который нигде не используется в дальнейшем?

Да вообщем-то... А если сделать $_GET['page'] = 'blablabla';
Тогда с чем класс будет работать?
Почему велосипедов? По моему простая мат. логика.
Ах, забыл про sql в пример записать smile
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

Неактивен

#4 2011.01.24 19:31

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

ByVlad написал:

Nu3oN написал:

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];
тут достаточно просто

Код:

1
span style="color: #0000BB"><?php$this -> page = empty($_GET['page']) ? 1 : (int)$_GET['page'];?>

ну и дофига велосипедов типа: !in_array($this -> page, array(1, 2, 3))
Указывай к методам и свойствам какие они должны быть приватные или публичные...
З.ы что за метод sql который нигде не используется в дальнейшем?

Да вообщем-то... А если сделать $_GET['page'] = 'blablabla';
Тогда с чем класс будет работать?
Почему велосипедов? По моему простая мат. логика.
Ах, забыл про sql в пример записать smile
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

Инт преобразует строку в ноль


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#5 2011.01.29 19:14

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

Nu3oN написал:

ByVlad написал:

Nu3oN написал:

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];
тут достаточно просто

Код:

1
span style="color: #0000BB"><?php$this -> page = empty($_GET['page']) ? 1 : (int)$_GET['page'];?>

ну и дофига велосипедов типа: !in_array($this -> page, array(1, 2, 3))
Указывай к методам и свойствам какие они должны быть приватные или публичные...
З.ы что за метод sql который нигде не используется в дальнейшем?

Да вообщем-то... А если сделать $_GET['page'] = 'blablabla';
Тогда с чем класс будет работать?
Почему велосипедов? По моему простая мат. логика.
Ах, забыл про sql в пример записать smile
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

Инт преобразует строку в ноль

я не юзаю int, я проверяю сначала через is_numeric

Неактивен

#6 2011.01.29 19:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

Nu3oN написал:

Инт преобразует строку в ноль

не совсем так.
var_dump((int)'123xxx'); // 123

ByVlad написал:

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];

кстати, (int) тут не обязателен.

Код:

1
$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] < 1) ? 1 : $_GET['page'];

Неактивен

#7 2011.01.30 11:47

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Класс навигации [ByVlad]

Gemorroj написал:

Nu3oN написал:

Инт преобразует строку в ноль

не совсем так.
var_dump((int)'123xxx'); // 123

ByVlad написал:

$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] == 0) ? 1 : (int)$_GET['page'];

кстати, (int) тут не обязателен.

Код:

1
$this -> page = (!isset($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] < 1) ? 1 : $_GET['page'];

А, ну да smile

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s