"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 Fike, (Updated )

Комментарии (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.

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

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

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

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

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

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

                        +++
                        Именно поэтому я за «ECMAScript».
                        Ответить
                • Вот да, Lang.php есть не во всех проектах. Тогда вообще непонятно, откуда берётся «Undefined offset: 0».
                  Ответить
                  • Может быть надо добавить Lang.php в проект? Не знаешь, где скачать?
                    Ответить
                      • ого, там даже верстка поддерживается
                        $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, но вы можете скопировать ссылку.';
                        Ответить

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

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

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


    8