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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    # bla bla bla...
    public function __construct ($dbname, $host = null, $user = null, $pass = null) {
    
    	$numargs = func_num_args ();
    	if ($numargs == 1)
    		parent::__construct ($dbname);
    	else
    		parent::__construct ($dbname, $host = null, $user = null, $pass = null);
            $this->begin = time ();
      }
    # bla bla bla...

    "гениальный" вызов конструктора!

    Запостил: dwinner, 12 Ноября 2010

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

    • видимо в 9ую строчку копипастнули 3ю, спохватились, что нифига не работает, прибавили 6-8.

      вообще я не понимаю, зачем пыхоразрабы заставили конструктор родителя вызывать явно?
      Ответить
      • Как зачем... а если его вообще не надо вызывать? или вызвать в начале / в конце / в середине?
        Ответить
        • это вопрос архитектуры приложения. Вон в той же яве, обязательно первым вызывается конструктор суперкласса. Ичто? преимущественно от этого только плюсы
          а минус явного вызова, что какой нить дятел при расширении класса не позаботится о вызове суперконструктора, и аппликация сломается. Еще будет и кричать, почему такой хреновый класс сделали
          Ответить
          • С явой к сожалению не знаком, но в питоне и руби методы суперкласса (в том числе и конструкторы) тоже вызываются явно
            Ответить
      • потому что все функции виртуальные, учим матчасть
        Ответить
    • шо за херь на 9ой строке? По идее же там последние три параметра будут null, так как идет присвоение, или бля, вообще не пойму смысла
      Ответить
      • копипаста там
        Ответить
      • В том-то и ГАВНО, что эти "гнилые" ПХП-шники хотели "по идее" перегрузить конструктор для альтернативного вызова с 4-мя параметрами, а вызывается один ХРЕН одна и та же родительская версия!
        Ответить
    • проваленная попытка каррирования. зачот.
      Ответить
    • - Ты уж сынок молодец, что поступил, ну уж родителям помоги, пока дома, потом уж редко будем видеться - каждые выходные не наездишься.
      Ответить

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