ByVlad » 2011.01.24 03:48

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

Nu3oN » 2011.01.24 06:38

$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 который нигде не используется в дальнейшем?

ByVlad » 2011.01.24 18:10

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 в пример записать =)
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

Nu3oN » 2011.01.24 19:31

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 в пример записать =)
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

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

ByVlad » 2011.01.29 19:14

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 в пример записать =)
$query = mysql_query("SELECT * FROM `songs` WHERE `sid` = " . abs((int)$_GET['sid']) . " ORDER BY `id` LIMIT " . $pages -> sql() . "," . $config['page']);

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

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

Gemorroj » 2011.01.29 19:32

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'];
ByVlad » 2011.01.30 11:47

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'];

А, ну да =)