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

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
<?php
// bitrix/modules/main/classes/mysql/database.php:: 176

if(!$result)
{
.......
	if(!$bIgnoreErrors)
	{
.......

		if(file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbquery_error.php"))
			include($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbquery_error.php");
		elseif(file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/dbquery_error.php"))
			include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/dbquery_error.php");
		else
			die("MySQL Query Error!");

		die();
	}
	return false;
}

// bitrix/modules/main/include/dbquery_error.php
<br>
<table>
//верстка html страницы со вставками переменных через <?= ?>
</table>

Исключения? Не, не слышали. Пусть конечный разработчик голову ломает, почему он не может отловить MySQL Query Error [1062] Duplicate entry ......

Запостил: crazzy501 crazzy501, (Updated )

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

  • Н-да, хуже программиста «РНР» может быть только программист на «Go» (он программирует и на «РНР», так сказать, совмещая неприятное с вредным).

    Но ещё хуже – закриптовать хард и забыть пароль....
    Ответить
    • Урааа! Кошечка программера вернулась!
      Ответить
    • > закриптовать хард и забыть пароль....

      Повезло, что дома нашёлся паяльник и удалось восстановить пароль при помощи терморектального криптоанализа?
      Ответить
  • предлагаю стерилизовать всех PHP девелоперов...
    Ответить
  • А у меня в «Си» нет никаких исключений. Именно поэтому я за «Си».
    Ответить
      • Собачка есть в объективных си
        Но она другой породы

        А что что в С++ нет оператора собачка это плохо
        Ответить
        • В чем вообще бенефит от использования тяфки в PHP? Чтобы разные ошибки можно было к единому формату привести?
          Ответить
          • Чтобы программа продолжала работать даже в случае ошибки, и приводила к неверным резлуьтатам
            Ответить
            • И портила данные где-нибудь в MySQL или файлах, ага. И вообще в ней бы самопроизвольно зародился разум.
              Ответить
              • AI пришел откуда не ждали. Сорос все это время спонсировал вордпресс с весьма определенной целью...
                Ответить
          • Чтобы можно было выполнить таск типа "исправить ошибку Undefined variable at..." за 5 минут и +1 байт.

            Если серьёзно, то заглушить ошибку, если она проверяется по-другому, скажем, смотря на возвращаемое значение. К примеру, file возвращает false, если файла не существует, и заодно срёт ошибкой. Если ты проверяешь возвращаемое значение на false, ошибка тут тебе уже не нужна.
            Ответить
                • Ну тогда нужно проверить его существованиепрежде, чем открыть
                  А если файл удалился уже после проверки (транзакицонности у FS нет), то что делать?

                  реально без собачки никак?
                  Ответить
                  • > проверить его существование прежде, чем открыть

                    Уж лучше собачка, чем эти гонки на ровном месте.
                    Ответить
                    • В каких-то окружениях допустимо считать, что файл никто кроме тебя не трогает, но в общем случае я же написал:

                      >А если файл удалился уже после проверки (транзакицонности у FS нет), то что делать?


                      Вообще ограничения зависят от задачи же. Менеджеру виртуальной памяти допустимо считать, что внешнее хранилище (куда он свапит) никуда не денется, а файловому менеджеру, копирующему файл на флешку, так считать нельзя)
                      Ответить
              • У нас даже был говнокод с асм-инъекцией: в сишке использовали переменную со знаком $, она пролезла в ассемблерный выхлоп без изменения, а там гнутый ассемблер с синтаксисом «AT&T» неправильно интерпретировал этот знак.
                Ответить
                • А зачем из сишки мнемоники генрерить? почему не сразу опкоды?
                  Ответить
                  • Чтобы ассемблерные вставки работали. Они же у gcc тупо текстом втыкаются посреди листинга, который он сам нагенерил.
                    Ответить
                    • а, всё, понял, туплю
                      какой багор ))

                      именно по этому я за интеловый свинтаксис
                      Ответить
                • Кстати, насколько помню, ядро линукса абузило асм-инъекцию для сборки стартового кода под 386 в реалмоде. Сам по себе "gcc" не умеет 16-битный код генерить, а вот "as" умеет. Поэтому линус воткнул директиву, которая заставляет as трактовать текущий сегмент как 16-битный и фигачить префиксы для 32-битной адресации и операндов. Само собой на настоящем 8080 этот кентавр потом не запустится, но всем пофиг.
                  Ответить
                  • s/8080/8086/

                    Да, «Линукс» рассчитан минимум на 80386. Из-за этого в своё время даже были срачи о «завышенных требованиях». Мол, «Xenix» и «Windows» можно запустить на 80286, а «Линукс» нельзя.
                    Ответить
                    • Линукс действительно не работал без поддержки страниц (один из нахрюков Танненбаума на Линуса), бо Линус и писал-то его чтобы со страничной адресацией разобраться

                      Только в классическом IBM PC 5150 не было 8080. И 8086 тоже небыло.
                      Там был 8088.

                      Отличался он тем, что шина данных была 8 бит, то есть за один раз он мог передать 1 байт только.

                      Так что на неём не нужно была это ваше сраное выравнивание.
                      Очень удобный и эффективный процессор
                      Ответить
                  • Типа AS думал, что он в ``.code16``, писал префикс ``addr32`` , и таким образом из реального режима обращался к 32х битным данным, которые высрал gcc?

                    Я думал, загрузчик целиком на асме написи
                    Ответить
                    • Скорее всего его написили, чтобы написать GRUB. Иначе как грузица в реал моде с MBR?
                      Ответить
                      • > как грузица в реал моде с MBR

                        Десяток инструкций на переход в защищённый режим, несложная обёртка над вызовом прерывания. Всё остальное в 32 или даже 64 битах как положено. Нахуй и впизду этот реалмод, ещё бы с ним пердолиться...
                        Ответить
  • мощная какая система линковки, прямо 21-й век
    Ответить

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

Переведи на "PHP", guest!

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


    8