Говнокод

AnrDaemon

Продвинутый новичок
PHP:
if(version_compare(PHP_VERSION, '5.3', '<'))
{
  class Exception53 extends Exception
  {
    protected $previous = NULL;

    public function __construct($message = "" , $code = 0 , Exception53 $previous = NULL)
    {
      $this->previous = $previous;
      return parent::__construct($message, $code);
    }

    final public function getPrevious()
    {
      return $this->previous;
    }
  }
}
else
{
  class Exception53 extends Exception {}
}
Долбаные заказчики...
 

Absinthe

жожо
AnrDaemon, почему долбанные заказчики?
Сам должен прекрасно понимать, что если делаешь коробочный продукт, то он должен работать на бесплатных говнохостингах, где даже DateTime еще нет. Таргетинг на целевые группы.

Если продукт не коробочный, то можно смело использовать 5.5 минимальной версией.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Первый раз такое вижу, это уже материал для статьи)
 

Вурдалак

Продвинутый новичок
Обычный говнокод с целью внесения поддержки $e->getPrevious() в PHP < 5.3. Какую статью тут можно написать?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вурдалак, пути тупости несповедимы.

Я просто никогда не понимал необходимости таких костылей, пусть хоть софт 10 раз коробочный. Найти хостинг, либо купить-настроить VPSку можно всегда. Просто есть те, кто это понимает, и те, кто пока нет.
 

AnrDaemon

Продвинутый новичок
Можно. Но когда всё это выясняется в последний момент… Пусть идут лесом. Две минуты на написание кода и 15 секунд на отладку. (Забыл 'function' между final public и getPre… в 5 утра уже мозг начинает вытворять совершенно феерические вещи.)
А этот кусок [цензуры] мне самому пригодится. По-хорошему надо было туда trigger_error ещё пихнуть, чтобы у них логи красиво описывали все прелести сидения на дремучих версиях софта… но опять же, в 5 утра есть более интересные занятия.
 

AmdY

Пью пиво
Команда форума
c0dex, это бюрократическая проблема, даже если бы это ничего не стоило, то проблемы обычно в согласовывание переезда.
Другое дело, что такие вещи надо заранее узнавать.
 

AnrDaemon

Продвинутый новичок
Теоретический вопрос. Какая принципиальная разница между
PHP:
    public function __construct($message = "" , $code = 0 , Exception53 $previous = NULL)
    {
      $this->previous = $previous;
      return parent::__construct($message, $code);
    }
и
PHP:
    public function __construct($message = "" , $code = 0 , Exception53 $previous = NULL)
    {
      $this->previous = $previous;
      parent::__construct($message, $code);
    }
(т.е. без return …)
А то я что-то не соображу, как поточнее спросить у гугла :(
 
Сверху