"PHP" / Говнокод #3186 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 kkkoi8r, (Updated )

Комментарии (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";
      так что не всё так плохо.
      Может даже лучше, чем сделать просто функцию.
      Ответить
            • Конечно в PHP классы лучше не городить, что-бы не тормозило. Да и читаемость от этого не сильно улучшется, а то и хуже станет.
              Ответить
              • Ну почему же, сейчас пхп вполне дорос до ооп, и явные сущности в системе удобнее описывать классами.
                Ответить
                • С ума сбредил?? Какой еще "дорос до ООП"? В Зенд кто-то в шутку эти экскременты назвал ООП, а все подхватили.
                  Ответить
                  • Ну тебе-то виднее:)
                    А вообще нормальный там ооп, мне лично хватает.
                    Ответить
                    • Да вы юноша, даже не знаете определение термина ООП, иначе бы такие сообщения не оставляли.
                      Ответить
                      • А что не так в пхп? Инкапсуляция, наследование, полиморфизм есть. Наследование кривовато конечно, но все в процессе разработки, язык то молодой.
                        И не надо тут понты разбрасывать, расскажи лучше что тебя в пхпшном ооп не устраивает.
                        Ответить
                        • Ха-ха. Как и сказал - школьник. Наследование, инкапсуляция - научили как обезьянку слова повторять. Если бы ты хотя бы прочитал вдумчиво аббревиатуру ООП - Объектно!-ориентированное программирование, то понял, что здесь объект - краеугольный камень, вовсе не классы и прототипы (большинство почему-то забывают про ооп на прототипах).
                          Ответить
                          • Так прототипирование и есть своего рода наследование.

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

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

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

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

                                      >>имбицил

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

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8