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

    +167

    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
    abstract class DataBaseConnection {
      static public  $user   = "root";
      static private $pass   = "";
      static private $host   = "localhost";
      static private $dbName = "example";
    
      //this method creates connection to server and selects data base    
      static public function dbConnect () {
            //initialize connection variables 
            $host   = self :: $host;
            $dbName = self :: $dbName;
            $pass   = self :: $pass;
            $user   = self :: $user;
            // connect to server
            $connection = mysql_connect ( $host, $user, $pass, TRUE ) or die ("DATA BASE CONNECTION FAIL : " . mysql_error());
            // select database
            mysql_select_db ( $dbName, $connection ) or die ("DATA BASE HAS NOT BEEN SELECT");
            //set query encoding
            mysql_query("set names utf8") or die("set names utf8 failed") ;  
            
            return $connection;
      }
    }
    
    DataBaseConnection :: $user = "root";
     
    $connection = DataBaseConnection :: dbConnect ();

    Запостил: kkkoi8r, 08 Мая 2010

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

    • Пример того, на что способно ООП головного мозга.
      Ответить
      • Я бы назвал это "Объектно-ориентированная импотенция".
        Ответить
        • Мда, а вот это уже новое веяние в программировании.
          Ответить
      • >ООП головного мозга
        Обычно так говорят, когда всё в соответствии с идиологией ООП, а тут на лицо не правильное использование ООП технологий.
        Ответить
    • с ООП мало работал, подскажите в чем тут говнокод..
      Ответить
      • Грубо говоря, в том, что ООП здесь присутствует чисто формально. Автор по факту пишет в процедурном стиле, оформляя это под ООП и почти не пользуясь той частью ООП-инструментария, которая его и выделяет на фоне процедурного стиля и наделяет характерными преимуществами.
        Ответить
      • Видимо в том, что оно тут нахрен не нужно )
        Если уж писать обертку для БД, то хотя бы добавить функции выполнения запросов, получения результатов и т.д.
        Ну и еще по мелочи типа вот этого:[code=php]$host = self :: $host;[code]
        Ответить
    • Зачем было делать класс абстрактным, если не имеется ни одного абстрактного метода? Зачем переменные по 100 раз инициализировать?
      Ответить
    • неймспейсы для функций :)
      Ответить
    • По хорошему лучше было сделать примерно так:
      abstract class DataBase
      {
      //...
      static public function Connect ()
      {
      //...
      Ответить
      • Человек скрыл некоторые поля
        static private $pass = "";
        static private $host = "localhost";
        static private $dbName = "example";
        так что не всё так плохо.
        Может даже лучше, чем сделать просто функцию.
        Ответить
        • Это попытка использовать паттерн синглтон.
          Ответить
          • Пусть и не удачная...
            Ответить
            • и давно это с тобой происходит?
              Ответить
              • Это не я писал. :D
                Ответить
                • я про разговоры с самим собой :))
                  Ответить
                  • Давно... :D А вообще это по поводу, того, что пост минуснули, хотел оправдаться, а может я и не прав.
                    Ответить
              • Конечно в PHP классы лучше не городить, что-бы не тормозило. Да и читаемость от этого не сильно улучшется, а то и хуже станет.
                Ответить
                • Ну почему же, сейчас пхп вполне дорос до ооп, и явные сущности в системе удобнее описывать классами.
                  Ответить
                  • С ума сбредил?? Какой еще "дорос до ООП"? В Зенд кто-то в шутку эти экскременты назвал ООП, а все подхватили.
                    Ответить
                    • Ну тебе-то виднее:)
                      А вообще нормальный там ооп, мне лично хватает.
                      Ответить
                      • Да вы юноша, даже не знаете определение термина ООП, иначе бы такие сообщения не оставляли.
                        Ответить
                        • А что не так в пхп? Инкапсуляция, наследование, полиморфизм есть. Наследование кривовато конечно, но все в процессе разработки, язык то молодой.
                          И не надо тут понты разбрасывать, расскажи лучше что тебя в пхпшном ооп не устраивает.
                          Ответить
                          • Ха-ха. Как и сказал - школьник. Наследование, инкапсуляция - научили как обезьянку слова повторять. Если бы ты хотя бы прочитал вдумчиво аббревиатуру ООП - Объектно!-ориентированное программирование, то понял, что здесь объект - краеугольный камень, вовсе не классы и прототипы (большинство почему-то забывают про ооп на прототипах).
                            Ответить
                            • Так прототипирование и есть своего рода наследование.

                              А без инкапсуляции ООП бессмысленен.
                              Ответить
                              • Понимаю, что капитану нужны помощники, но зачем так явно это делать? Или же в посте скрыт сакральный смысл?
                                Ответить
                                • Да так, бессмысленно встреваю в бессмысленный спор.
                                  Ответить
                            • Тебя наверное весь день опускали, раз ты тут срываешься.
                              Про прототипы никто не забывал, но речь идет о реализации ооп конкретном языке, а не об ооп в целом.
                              Спрошу еще раз, что в пхп не удовлетворяет принципам ооп? Ты же так кричишь, что это экскременты, так поясни пожалуйста.
                              Хотя видимо с тобой общаться неконструктивно, переходишь на личности, а по теме - воду льешь.
                              Ответить
                              • Школьничек, ты так уныло и беспомощно "отстаиваешь" свою позицию, что неровен час пущу скупую слезу от умиления.
                                Ответить
                                • Поплачь, я тебе не мешаю.
                                  Сам то уроки сделал уже?
                                  Ответить
                              • А что жы ты хочешь услышать об ООП в PHP? Экскременты - это еще похвалой можно посчитать. Конструкции выглядят абсолютно искусственными и нелогичными, но очевидно, в таком "последовательном" языке это максимум, что можно было получить.
                                Ответить
                              • Методы классов неправильно наследуются до версии 5.3. А это лишь один из основных принципов OOP, которых, кстати, совсем не 3.
                                Ответить
                                • Не стоит даже пытаться просвещать этих code monkeys, в итоге вы же и окажетесь виноватым. Быдло не должно задумываться и иметь свое мнение, оно должно слепо следовать приказам.
                                  Ответить
                        • Общество охуевших пиздоболов. Учи матчасть.
                          Ответить
                          • Интересная трактовка. А вы сами по какой матчасти специализируетесь: общественной, охуевшей или пиздобольской?
                            Ответить
                            • Ваша критика ОПП в PHP. Не конструктивна. В чем заключается указаная вами искусственность и нелогичность языка. Моё мнение что вы просто прочитали кауюто одну статью в которой сказано в PHP нет ООП и теперь усераясь доказываете чужую позицию, а отсутвие аргументов восполняете оскорблениями в адрес аппонента. Такое поведение я называю пидарастичным в Вас Конетретно ПИДАРАСОМ и попробуйте мне, что то возразить.
                              Ответить
                              • Еще один "гений от PHP", вас там не клонируют, случайно?
                                Посмотри, мальчик, кто тут первый перешел на мат.
                                То как ты напираешь на версию о чужом мнении о многом говорит, и сдается мне тут кое-кто другой своего мнения не имеет (хочешь за взрослого сойти - колись, бухай, в общем очищай генофонд).
                                Твое поведение - поведение малолетнего выскочки, так что можешь преспокойно удавиться.
                                Ответить
                                • Спасибо. Если я раньше и совневался в Вашей жизненой оринтации то теперь сомнения улетучились. Вы пидарас. И еще раз скажу никаой конструктивной критики я не вижу тоько сопли размазаные по стеклу и оскрбления в адрес аппонента про чужое мнение вы ответили но это было только выторая часть выопроса побольшому счету даже не важная. Основная часть была про искуственность и не логичность языка. которую вы оставили без внимания. Я считаю только из-за того что нечего сказать в ответ. Извените за граматические ошибки.
                                  Ответить
                                  • >>Основная часть

                                    Это только малолетние далбаебы могут считать, что какой-то там язык важнее оскорблений оставленных малолетним бляденышем.

                                    >>Извените за граматические ошибки.

                                    Можешь не извинятся, тебя и так жизнь наказала.
                                    Ответить
                                    • Ты просто неполноценный имбицил. И разговаривать с тобой. пустая трата времени тебя лошат по жизни. И как следсвие твоя агресия. Ты же знаешь что я тебе ебальник не сверну за твои слова вот и блеешь все что хочешь.
                                      Ответить
                                      • Все уже давно поняли твой интеллектуальный (хотя какой еще интеллект у обезьяны?) уровень. Тебя бы по-хорошему надо бы пролечить, и я мог бы раскрутить тебя на суд, но не вижу особого смысла мараться об недоразвитых подонков.

                                        >>имбицил

                                        Ты с ошибкой написал свой диагноз - правильно "имбецил", имбецил.
                                        Ответить
    • Вообще реализация коннекта к базе данным статичным методом - весьма сомнительное архитектурное решение, если речь не идёт о неком менеджере.. о чём это я, а, да - код бред.
      Ответить

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