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

    0

    1. 1
    2. 2
    Trying to get property '%s' of non-object:   Notice -> Warning
    Undefined property: %s::$%s                  Notice -> Warning

    тут брейкинг ченджес подвезли

    https://wiki.php.net/rfc/engine_warnings

    Запостил: Fike, 14 Сентября 2020

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

    • Вот это хорошо:

      Cannot add element to the array as the next element is already occupied: Warning -> Error exception
      Rationale: This error condition occurs when trying to push to an array for which the PHP_INT_MAX key is already used. This error condition practically never occurs outside of specially crafted code, and implies data loss if it does. As such, it is changed into an exception.
      Ответить
      • Array to string conversion: Notice -> Warning
        Rationale: This is generally a bug (and the “Array” string you get is meaningless), but in many cases also not a particularly severe one. Since string conversion exceptions are supported now, we could also promote this to an Error exception, and I'm generally open to that.

        жажаскрипит сасатб
        Ответить
    • А какая принципиальная разница между
      Warning: Undefined offset: 0 in /home/g/guestinho/govnokod.xyz/public_html/wp-includes/class-wp-query.php on line 3144

      и
      Notice: Undefined offset: 0 in /home/g/guestinho/govnokod.xyz/public_html/wp-includes/class-wp-query.php on line 3144

      ?
      Ответить
      • умные пхпшники отключают не всё, а только нотисы
        Ответить
      • В этом твоем вопросе каким-то образом уместилось всё, что я думаю про ПХП
        Ответить
      • Разница в классе уведомления: E_WARNING=2 или E_NOTICE=8. Это может быть важно, если ты фильтруешь выводимые уведомления об ошибках с помощью функции error_reporting.
        Ответить
        • А зачем что-то фильтровать?
          Пусть пользователь увидит сообщение об ошибке, и напишет тебе
          Как иначе ты узнаешь?
          Ответить
          • Я всегда делаю error_reporting(E_ALL); и теку.
            Ответить
            • Разные есть школы. Некоторые считают, что ошибки лучше не выводить вовсе, чтобы не мешались. На всякий случай всегда пишут собачку перед всеми функциями, потому что ты же не знаешь какой там error_reporting.

              Ворнинги и нотисы обычно сайту работать не мешают. А если помешают, то тебе опять же всегда пользователь скажет
              Ответить
              • Ну да, если всё заглушить собачками, то бесполезные сообщения выводиться не будут (подумаешь, какие-то данные у пользователей потерялись, восстановят, не впервой), интерпретатор будет кричать, только когда совсем плохо и нужно срочно чинить.
                Ответить
                • Ну введут данные еще раз, это не проблема
                  А вот "Undefined offset: 0" реально не понятно как починить. Я уже и гуглил, и на ответы@мейлру спрашивал, никто не знает

                  Вот тут вроде парню помогли с похожей ошибкой
                  https://qna.habr.com/q/598875

                  Но у меня нету файла Lang.php

                  Кстати, Артур -- умный мужик
                  > Для начала хочу отметить, что Notice — это не ошибка. Это всего лишь предупреждение.

                  Если не ошибка, то вообще не понятно зачем чинить
                  Ответить
                  • принцип "when it compiles it works" можно расширить и на интерпретируемые языки
                    Ответить
                    • ну да, я когда на си писал -- я точно так и делал. У меня обычно всё и работало. У друга правда чото падало иногда, но у него видимо комп кривой. В итоге договорились на моем запускать
                      Ответить
                      • мне в вузе препод говорил что в надо все ворнинги исправлять
                        ну я его не слушал конечно, потом на js начал писать
                        Ответить
                        • ой, да такую хуйню ненужную только враш-ке преподают.
                          Есть пример когда тебе в работе нужно было исправлять ворнинги?

                          в JS нужно просто не писать дурацкий "use strict", и тогда ворнинги вообще не проблема
                          Ответить
                          • в клауде какие-то дурацкие ворнинги про бюджет и косты выскакивают, их надо как электричество оплачивать а то отключат
                            А в js я просто пишу
                            console.warn = () => {}
                            console.error= () => {}
                            Ответить
                        • > препод говорил что в надо все ворнинги исправлять
                          > ну я его не слушал конечно
                          > потом на js начал писать

                          +++
                          Именно поэтому я за «ECMAScript».
                          Ответить
                  • Вот да, Lang.php есть не во всех проектах. Тогда вообще непонятно, откуда берётся «Undefined offset: 0».
                    Ответить
                    • Может быть надо добавить Lang.php в проект? Не знаешь, где скачать?
                      Ответить
                      • Ну вот смотри, вводишь в «Гугл» такой запрос:
                        https://www.google.com/search?q=inurl%3A"Lang.php"

                        И там выпадает несколько вариантов.
                        Ответить
                        • Нашел вот интересный вопрос. Думаешь, это как связано с потоками?
                          https://coderoad.ru/32963654/%D1%87%D1%82%D0%BE-%D0%BE%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D0%B5%D1%82-%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D1%8E%D1%89%D0%B8%D0%B9-%D1%82%D0%B5%D0%B3-cc-lang-php


                          Кстати приятно, что сайт на русском
                          --------

                          параллельно поксмотрел другие интересные вопросы


                          Что означает тег <#?
                          Любой орган знает, что означает этот тег <# #> в скрипте ? Пожалуйста, проверьте изображение ниже прилагается для просмотра деталей Спасибо заранее :)
                          Ответить
                      • Мне вот этот понравился:
                        https://fossies.org/linux/dokuwiki/inc/lang/ru/lang.php

                        Он с «доксидженом», у него 38 авторов. Наверное, неглупые люди.
                        Ответить
                        • ого, там даже верстка поддерживается
                          $lang['i_success']             = 'Конфигурация прошла успешно. Теперь вы можете удалить файл install.php. Переходите к
                                  <a href="doku.php?id=wiki:welcome">своей новой «Докувики»</a>.';


                          а можно туда джаваскрипт?
                          Ответить
                          • $lang['noflash']               = 'Для просмотра этого содержимого требуется <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';


                            А мне говорили, что «Adobe Flash Plugin» устарел...
                            Ответить
                            • Кстати очень удобно, что URL на чужой сайт зашит в локализацию.
                              Докувики переведена на множество языков, и в каждом наверняка есть такой урл.

                              Если он случайно потеряется, то будет удобно его восстановить из соседнего языка.

                              Причем за разные языки отвечают разные люди, так что в какой-то момент в разных языках может оказаться разный URL.

                              Ну либо есть специальный человек, отвечаюший именно за adobe...
                              Ответить
                        • $lang['js']['nosmblinks'] = 'Ссылка на сетевые каталоги Windows работает только из MS Internet Explorer, но вы можете скопировать ссылку.';
                          Ответить
                          • Приведи реальный пример такой ссылки.
                            Ответить
                            • \\odincserver\buh\Нефтеюганск\Петраков С.П\Отчеты\2008\Январь\excel\svcchost.exe
                              Ответить
                              • Спасибо. Оканчивается на «.exe» — вирус, поди?
                                Ответить
                                • не знаю, у меня расширения отключены
                                  Иконка вроде на excel похожа
                                  запущу -- узнаем

                                  >Если svcchost.exe находится в подпапках диска C:\, тогда рейтинг надежности 36% опасности

                                  ну это же не c:\ вроде
                                  https://www.filecheck.ru/process/svcchost.exe.html
                                  Ответить
                                  • Надо позвонить Петракову С. П. и спросить, на каком диске у него этот файл. Если на C:, то 36% опасности. А что делать, если он у него окажется на другом диске?
                                    Ответить
                                    • Позвонил. Говорит, ходит на этот файл через какой-то диск Z:\ .Примаунченный видать

                                      Тогда безопасно
                                      Ответить
                                    • кстати, у svchost.exe всего 7% опасности

                                      одна буковка, а как повышает процент
                                      https://www.filecheck.ru/process/svchost.exe.html
                                      Ответить
                                • https://i.ytimg.com/vi/loyEdxuNpzw/maxresdefault.jpg
                                  Ответить

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