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

    +55

    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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    <?php
    class cURL
        {   
            
            private $handler;
            
            function cURL($url = null)
            {
                $this->handler = curl_init($url);
            }
            
            //  Да, я ленивый!
            function __call($name, $args)
            {
                if($name == "init") return;
                if(strstr($name, "multi")) die("Multiple cURL not supported in this class.");
                $name = "curl_$name";
                if(!function_exists($name)) die("Function $name not found.");
                array_unshift($args, $this->handler);
                $fn = new ReflectionFunction($name);
                return $fn->invokeArgs($args);
            }
            
        }

    Запостил: Sarkian, 02 Октября 2012

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

    • Могло бы быть удобно, если бы не опять эти вездесущие die. DIE EVERYONE WHO DOES THAT!
      Ответить
      • Не вижу удобства и в помине. Смысл класса 0. Где фабрика, где текучий интерфейс для установки параметров, где дефолтные параметры в виде юзерагента, или еще чего либо. И установка их должна быть интуитивная. Что за гейство делать сперва $foo = new cUrl($url); Потом вызывать функции самой библиотеки.
        В моем идеале должно быть так, curl::factory($url)->param(curl::AUTOREFERER, true)->post(array('foo'=>'bar))->execute();
        Ответить
        • Это разные уровни удобства и для разных целей. Не всегда есть потребность/время на написание идеала, который всё равно через полгода покажется недостаточно удобным. :)
          Ответить
          • Раскройте пожалуйста уровни и цели, которые не покроет мое представление как должно быть. Это не идеал, пишется раз за 15 минут, используется где потребуется и апгрейдится по надобности. Удобнее тоже вряд ли станет.
            Ответить

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