1. PHP / Говнокод #6426

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function setAmbiguityIdentity($flag)
        {
            if (is_integer($flag)) {
                $this->_ambiguityIdentity = (1 === $flag ? true : false);
            } elseif (is_bool($flag)) {
                $this->_ambiguityIdentity = $flag;
            }
            return $this;
        }

    Zend Framework компонент Zend_Auth_Adapter_DbTable. (Слегка смутила строка 4)

    Запостил: sonic, 21 Апреля 2011

    Комментарии (20) RSS

    • bool result = (result)?true:false ^_^
      Ответить
    • $this->_ambiguityIdentity = !!$flag
      Ответить
      • Если прийдет 2, должено быть по всей видимости false, а у тебя true
        Ответить
        • я не в курсе этого компонента, но скорее всего там приходит 1/0 в первом случае и true/false во втором
          Ответить
      • раз на то пошло, то должно быть так:
        $this->_ambiguityIdentity = (1 === $flag);
        А вместо этого:
        $this->_ambiguityIdentity = !!$flag
        Было бы даже красивее так:
        $this->_ambiguityIdentity = (bool)$flag;
        Ответить
    • вот почему зенд такой медленный )
      Ответить
    • Я так извиняюсь, но это из какой версии?
      Заглянул в сорцы Zend/Auth/Adapter/DbTable.php
      и не нашел там такого метода=)
      Ответить

    Добавить комментарий