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

    +157

    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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    /**********************************************************************
    		*  Connect to DB - over-ridden by specific DB class
    		*/
    
    		function connect()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Select DB - over-ridden by specific DB class
    		*/
    
    		function select()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Basic Query	- over-ridden by specific DB class
    		*/
    
    		function query()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Format a string correctly for safe insert - over-ridden by specific
    		*  DB class
    		*/
    
    		function escape()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Return database specific system date syntax
    		*  i.e. Oracle: SYSDATE Mysql: NOW()
    		*/
    
    		function sysdate()
    		{
    			die(EZSQL_CORE_ERROR);
    		}

    Продвинутый способ создания абстрактных методов. Это кагбе абстрактный класс, от которого наследуются БД-специфичные классы. Затем какая вам БД нужна, под такую руками и создавайте экземпляр нужного класса, "фабрикой" даже и не пахнет.
    Зовётся сие чудо ezSQL. Используется в NetCat. Ладно хоть не сами наложили (налажали?), но всё ж головой не подумали, когда брали.

    Запостил: telnet, 26 Мая 2010

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

    • причем именно "кагбе" - типа совместимость с пхп4?
      Ответить
    • > over-ridden
      - Finish MGIMO?
      - Ask!
      Ответить
    • ДАЙ!!! НУ DIE УЖЕ НАКОНЕЦ!!!
      Ответить
    • С руками оторву!
      Ответить
    • Как умереть сотню раз одним и тем же способом.
      Ответить
    • Неткат можно целиком на говнокод постить.
      Ответить
    • "Это кагбе абстрактный класс, от которого наследуются БД-специфичные классы."
      Кагбэ для таких вещей есть интерфейсы
      Ответить
      • угу... интерфейсы... на пхп...
        чем кульхацкерней ник - тем тупее высеры
        Ответить
        • http://ru.php.net/interface
          Ответить
        • Ник уже лучше чем гуест у некоторых.
          Для цели следуемой этим кодом логично было бы применить интерфейс, если я пишу некоторый модуль и разрешаю писать для него собственную реализацию в виде драйвера, я должен написать интерфейс, от которого все и будут плясать, а не от абстрактного класса. И да интерфейсы на пхп.

          С ув. rO_ot
          Ответить
          • Так-то оно так, но куда деваться, что NetCat'ственно, то не без маразма.
            Ответить

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