ФорумПрограммированиеПыхнуть хотите?Готовые решения → Пагинатор, нах

Пагинатор, нах

  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 2:40, спустя 21 минуту 34 секунды

    в пхпдоках ошибки
    Спустя 10 сек.
    code review failed
    Спустя 120 сек.
    а так же, очень понравились методы, которые просто возвращают null
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 3:22, спустя 42 минуты 14 секунд

    фпесду phpdoc.
    методы, которые возвращают null переопределить можно.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:02, спустя 1 час 39 минут 39 секунд

    методы, которые возвращают null переопределить можно.

    а нахуй они вообще нужны ???

    фпесду phpdoc.

    нахуй ты тогда пытался его писать ?
    Спустя 47 сек.
    кодстайла - нет
    паранойя с private порадовала =)
  • Sinkler

    Сообщения: 8059 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:03, спустя 1 минуту 7 секунд

    че я, зря на васяца подписывался на гитхабе?(((((((((

    :D
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:11, спустя 7 минут 34 секунды

    а нахуй они вообще нужны ???

    Не передал ему количества страниц - дёргается defineItemsCount().
    В базовом классе возвращается null - то есть он ни ебёт что это за список и откуда вообще брать это количество.
    Можно свой класс наследовать для конкретного списка - https://github.com/vasa-c/go-helpers/wiki/Pager-inherit и там переопределить этот метод.

    нахуй ты тогда пытался его писать ?

    чтобы IDE автокомплитила и что цука характерно - автокомплитит.
    что там конкретно не то? @override?

    кодстайла - нет

    конкретизируй.

    паранойя с private порадовала =)

    private мало не бывает. в паблик чтоли всё говно выносить?
  • Sinkler

    Сообщения: 8059 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:20, спустя 8 минут 51 секунду

    private мало не бывает. в паблик чтоли всё говно выносить?

    ++
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 26 апреля 2012 г. 5:55, спустя 35 минут 13 секунд

    vasa_c, есть абстрактные классы и всё такое, ну это уже каждому своё. Я вот не пойду зачем делать такие неймспейсы Pager\Pager ?
    Хелпер Env - private $GETArray; это же приват, нах  с большой буквы? во я доебался )))

    Вообщем главный вопрос в неймспейсе, а так особо не смотрел. Вот я когда то писал тоже типа такого (может мыслей подкину)

    class Block_Model_Pager {
       /**
        * @var string
        */
       private $_url;
       /**
        * @var int
        */
       private $_page;
       /**
        * @var int
        */
       private $_count;
       /**
        * @var int
        */
       private $_onPage;
       /**
        *
        * @param array $params
        */
       public function  __construct(array $params)
       {
           $this->_url = (isset($params['url'])) ? $params['url'] : '/page/';
           $this->_count = (int) (isset($params['count'])) ? $params['count'] : 0;
           $this->_onPage = (int) (isset($params['onPage'])) ? $params['onPage'] : 10;
           $this->_page = (int) (isset($params['page']) && $params['page']) ? $params['page'] : 1;
           $this->_countPages = ceil($this->_count / $this->_onPage);
       }
       /**
        * @return bool
        */
       public function isValid()
       {
           return  (($this->_page > 0) && ($this->_countPages >= $this->_page));
       }
       /**
        *
        * @return int
        */
       public function getFrom()
       {
           return ($this->isValid()) ? $this->_page * $this->_onPage - $this->_onPage : 0;
       }
       /**
        *
        * @return array
        */
       public function getData()
       {
           if (!$this->isValid()) {
               $this->_page = 1;
           }

           $from = $this->getFrom();
           $result = array();
           
           for ($p = 1; $p <= $this->_countPages ; $p++) {
               $pageSign = array(
                   'current' => ($p == $this->_page),
                   'number' => $p,
                   'url' => $this->_url . $p,
               );
               $result[] = $pageSign;
           }

           return $result;
       }
    }

    блин не нашел хтмл от туда же… ну короче думаю суть ясна ))
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:54, спустя 23 часа 59 минут 17 секунд

    protected $DEFAULT_PARAMS
    protected $vars;
    private $urlCreator;

    кагбэ намекает нам, что неду единого стиля оформления переменных.
    + непубличные свойства и методы принято именовать начиная с андерскора

    /**
        * Узнать номер первого элемента на странице (начиная с 1)
        *
        * @throws \go\Helpers\Pager\Exception\ParamNotFound
        *
        * @return int
        */
       final public function getFirstItem() {
           return $this->getLimitBegin() + 1;
       }

    скажи мне, где тут явно throw'ается эксепшн ? в практике принято писать @throws только в случае если в теле метода есть явный высер эксепшна.

    + опять же не понял паранойи с final =)


    private мало не бывает. в паблик чтоли всё говно выносить?

    ладно, замяли, нехочу начинать холивар.

    Pager.php
    какая необходимость в конструкторе ?

    для методов, в которых return null; некорректный пхпдок, раз метод может возвращать null то это надо указывать в доке.

    в методах типа:
    mergeDefaultParams()
    prepareUrlCreator()
    calc()


    принято возвращать $this
  • Sinkler

    Сообщения: 8059 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:57, спустя 2 минуты 34 секунды

    + непубличные свойства и методы принято именовать начиная с андерскора

    вот это еще больший холивар)))))
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 26 апреля 2012 г. 5:58, спустя 1 минуту 5 секунд

    NRG, согласен, кроме андерскоров, надо бы уже это отдать под ответственность ИДЕ
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 5:58, спустя 37 секунд


    + непубличные свойства и методы принято именовать начиная с андерскора

    вот это еще больший холивар)))))
    согласен, но лично я, придерживаюсь зендовского код-стайла, там так принято (+ удобнее визуально определять)
  • Sinkler

    Сообщения: 8059 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 6:01, спустя 2 минуты 10 секунд


    NRG, согласен, кроме андерскоров, надо бы уже это отдать под ответственность ИДЕ
    нейт абель (cakephp, lithum) сказал, нафиг андерскоры, теперь тоже полагаюсь на иде)))
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 6:03, спустя 2 минуты 1 секунду

    кагбэ намекает нам, что неду единого стиля оформления переменных.

    DEFAULT_PARAMS так написал, потому что это фактически константа, только в пыхе её через const хрен объявишь. Все остальные camelCase везде.

    + непубличные свойства и методы принято именовать начиная с андерскора

    Это вообще бессмысленный холивар. В миллионе стандартов принято, против миллиона в которых не принято.
    Когда модификаторов private и т.п. не было, тогда это смысл имело.

    ладно, замяли, нехочу начинать холивар.

    нах холивар то заводить? ты напиши выносить или не выносить :)

    какая необходимость в конструкторе ?

    э… не понял.

    для методов, в которых return null; некорректный пхпдок, раз метод может возвращать null то это надо указывать в доке.

    может быть, хотя NULL это стандартный вариант для любого типа.

    принято возвращать $this

    да кем? зачем? в магенте принято? чтобы в цепочку написать?
    Спустя 96 сек.
    vasa_c, есть абстрактные классы и всё такое, ну это уже каждому своё.

    ну есть и чо?

    Хелпер Env - private $GETArray; это же приват, нах с большой буквы? во я доебался )))

    Потому там сохраняется GET.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 апреля 2012 г. 6:06, спустя 3 минуты 52 секунды

    э… не понял.

    захламлять конструтор вот той хуетой которая в нем не имеет никакого смысла.
    можно сделать public function init() который будет явно вызываться и своим названием както сообщать нам то, что он делает.
    захламлять конструктор хуетой небезопасно, так как в нем есть какаято неведаная хуйня которая может повредить созданию обьекта.

    чтобы в цепочку написать?

    именно

Пожалуйста, авторизуйтесь, чтобы написать комментарий!