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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    if(($n=func_num_args())>1)
    		{
    			$args=func_get_args();
    			if($n===2)
    				$object=new $type($args[1]);
    			else if($n===3)
    				$object=new $type($args[1],$args[2]);
    			else if($n===4)
    				$object=new $type($args[1],$args[2],$args[3]);
    			else
    			{
    				unset($args[0]);
    				$class=new ReflectionClass($type);
    				// Note: ReflectionClass::newInstanceArgs() is available for PHP 5.1.3+
    				// $object=$class->newInstanceArgs($args);
    				$object=call_user_func_array(array($class,'newInstance'),$args);
    			}
    		}

    yii :)

    Запостил: manyrus, 04 Апреля 2011

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

    • Такая же штука в Кохане была. Для скорости. Правда потом её оттуда убрали, справедливо решив, что красота кода важнее 0,00000001 мс выигрыша в производительности
      Ответить
      • > 0.00000001мс
        > 100GHz

        Где такие сервера дают?
        Ответить
        • метакогнитивный процессор же, успевает подумать о пхп несколько раз за такт
          Ответить

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