|
pak ↓
|
 |
|
22 Июль, 2011, 08:03:40
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 12 Сила слова: 0
|
Добрый день,
Кому не лень глянте, посоветйте что так что не так
простая навигация по строчно
файл типа
строка 1
строка 2
строка 3
строка 4
...
class Navigator
{
public $info = array();
public function __construct ($page, $file = false, $s = 10)
{
$this-> s = $s;
$this-> file = $file;
$this-> page = $page;
}
private function isFile ()
{
if(file_exists($this-> file))
return true;
}
private function arrayFile ($i = null)
{
if($this-> isFile())
{
$str = file($this-> file);
if(! isset($i))
return $str;
else
if(isset($str[$i]))
return $str[$i];
}
}
public function getPage ()
{
return ceil(count($this-> arrayFile()) / $this-> s);
}
public function getInfo ()
{
if($this-> page <= $this-> getPage() and is_numeric($this-> page))
{
$k = $this-> page * $this-> s;
$n = $k - $this-> s;
for($i = $n; $i < $k; ++ $i)
{
$this-> info[] = $this-> arrayFile($i);
}
return $this-> info;
}
else
return $this-> info;
}
}
$page = ! empty($_GET['page'])? trim($_GET['page']): 1;
$nav = new Navigator ($page, 'file.txt');
foreach($nav -> getInfo() as $value)
{
echo $value. '<br />';
}
echo '<br><br><br>';
for($i = 1; $i <= $nav -> getPage(); ++ $i)
{
echo '<a href="/?page=' . $i. '"> ' . $i. ' </a>';
}
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
22 Июль, 2011, 08:15:34 , спустя 11 минут 54 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
поле $info объяви protected
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
23 Июль, 2011, 10:04:07 , спустя 13 часов 48 минут 33 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
не красиво ничего не возвращать:
private function isFile ()
{
if(file_exists($this-> file))
return true;
}
private function isFile ()
{
return is_file($this-> file);
}
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
mario ↓
|
 |
|
23 Июль, 2011, 10:17:18 , спустя 13 минут 11 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
не красиво ничего не возвращать:
+1 )))
|
|
|
|
|
Записан
|
|
|
|
|
pak ↓
|
 |
|
23 Июль, 2011, 11:44:07 , спустя 1 час 26 минут 49 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 12 Сила слова: 0
|
сбасибо) Спустя 40 секунд добавил спасибо))
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
23 Июль, 2011, 02:29:58 , спустя 2 часа 45 минут 51 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6806 Сила слова: 1.07
|
не красиво ничекого не воразвращать
|
|
|
|
|
Записан
|
|
|
|
|
krasun ↓
|
 |
|
24 Июль, 2011, 01:38:38 , спустя 11 часов 8 минут 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи
Группа: Джедаи Карма: 41
Сообщений: 1379 Сила слова: 2.97
|
поле $info объяви protected
почему не private?
|
|
|
|
|
Записан
|
|
|
|
|
fgets ↓
|
 |
|
24 Июль, 2011, 02:16:17 , спустя 37 минут 39 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -1
Сообщений: 1119 Сила слова: -0.09
|
не красиво ничего не возвращать
void
|
|
|
|
|
Записан
|
эй детка не ссы в бассейн
Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
|
|
|
|
krasun ↓
|
 |
|
24 Июль, 2011, 03:06:20 , спустя 50 минут 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи
Группа: Джедаи Карма: 41
Сообщений: 1379 Сила слова: 2.97
|
не красиво ничего не возвращать
void
Не, не, не... Не вырывай так слова из контекста. Там другое имеется ввиду. isFile или тру или ничего. Понятно, что сработает, если проверять все время только на тру. Другое дело, что это реально не красиво, и возможно false удобней. Короче, код должен быть предсказуемым.
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
24 Июль, 2011, 10:28:14 , спустя 7 часов 21 минуту 54 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
почему не private?
Чтобы поле было доступно в дочерних классах
|
|
|
|
|
Записан
|
|
|
|
|
mexys ↓
|
 |
|
25 Июль, 2011, 05:55:16 , спустя 1 день 7 часов 27 минут 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 19 Сила слова: 0
|
Предположим, читаем 1000 строк из файа размером 5Мб откуда-нибудь из серединки. Это будет пиздец, файл будет прочитан 1001 раз. Плюсом еще по разу на каждую станичную ссылку. Нужно кэшировать содержимое.
Поля s, file, page лучше объявить явно как protected.
Поле $info используется в одном методе – проще заменит переменной.
getPage() - по логике должен называться getPagesCount()
Ну и на последок, красивее будет если реализовать интерфейс Iterator, но это пофиг.
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
25 Июль, 2011, 10:00:02 , спустя 4 часа 4 минуты 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: 20790 Сила слова: 1.66
|
вах Спустя 10 секунд добавил приветствую тебя о светлейший ум
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
mexys ↓
|
 |
|
25 Июль, 2011, 11:02:33 , спустя 1 час 2 минуты 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 19 Сила слова: 0
|
и тебе здравия
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
25 Июль, 2011, 11:22:01 , спустя 19 минут 28 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: 20790 Сила слова: 1.66
|
чья хуйня?
http://xmast.net/pstat_fcgi/pyhastat.py Спустя 25 секунд добавил признавайтесь! а то щабаню всех кто писал в теме :-)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Tekuto ↓
|
 |
|
25 Июль, 2011, 11:23:30 , спустя 1 минуту 29 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 0
Сообщений: 1228 Сила слова: 0
|
чего там было?
|
|
|
|
|
Записан
|
Just a man and his will to survive
|
|
|
|