Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 25 Май, 2012, 01:52:12

Страниц: [1] 2
Печать
Автор Тема: Мой первый класс, посоветуйте  (Прочитано 721 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pak    ↓ 
22 Июль, 2011, 08:03:40
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 12
Сила слова: 0

Добрый день,
Кому не лень глянте, посоветйте что так что не так
 
простая навигация по строчно
файл типа
Text
строка 1
строка 2
строка 3
строка 4
...

PHP

    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

не красиво ничего не возвращать:
PHP
       
        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 )))
Записан

с ув. mario.
Контакты
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
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: md5, adw0rd, artoodetoo, mario