Несколько советов о том, стоит ли мне устранять ошибки Уведомления в Joomla. - PullRequest
0 голосов
/ 13 июля 2010

Я изменил параметр в разделе конфигурации Joomla, чтобы показать все ошибки (E_ALL), и мой компонент в основном непригоден для использования.

Например, в представлении (editapp) у меня есть шаблон default.php, который содержит такие вещи, как:

    <input class="text_area" type="text" name="application_name" id="application_name" size="50" maxlength="250" value="<?php echo $item->application_name" ?> />

Теперь из-за $item->application_name, когда я запускаю это в первый раз (новая запись), везде будут замечаться ошибки Trying to get property of non-object

Это потому, что один и тот же шаблон используется для сохранения и редактирования. Я следовал инструкциям, и они, казалось, делали это таким образом.

Каково здесь развитие PHP. Должен ли я проверять эти вещи? if (isset ($ item-)) {...}, что является лучшим методом для разработки на PHP?

Ответы [ 2 ]

3 голосов
/ 13 июля 2010

Согласен с остальными - иди без ошибок. На самом деле, я предлагаю выйти за пределы E_ALL и добавить E_STRICT, как я делаю всю свою разработку. У каждого из этих уведомлений есть веские причины, и вы постараетесь избавиться от них. Наиболее заметной причиной является то, что в уведомлениях обычно указываются небольшие ошибки, которые могут усложнить поиск и устранение более крупных ошибок в будущем. Это не слишком отличается от идеи использования утверждений: они помогают максимально быстро устранять ошибки.

Что касается вашего конкретного примера, вместо того, чтобы использовать isset () прямо перед ссылкой на него, я рекомендую инициализировать объект в нормальном базовом состоянии, переходящем на страницу (возможно, с использованием isset () в этот момент). Например, вы можете установить значение application_name в пустую строку. Это позволит вам сохранить правильность и чистоту вашего выходного оператора, но при этом правильно учесть уведомление, убедившись, что переменная инициализирована перед его использованием. (FWIW, во многих языках использование унифицированных переменных вызывает еще более агрессивный ответ в виде ошибки времени компиляции.)

1 голос
/ 13 июля 2010

Абсолютно стоит избавиться от ошибок и предупреждений в вашем коде по нескольким причинам:

  • Каждая ошибка записывается в журнал ошибок. Если они несущественны, вы загрязнили свой журнал ошибок информацией, которая ничем не помогает.
  • Большинство предупреждений указывают на более крупные ошибки. Неустановленная переменная, на которую вы ссылаетесь, может вызвать проблемы в будущем в ситуациях, о которых вы, возможно, и не думали.
  • Другие, использующие ваш шаблон, могут не иметь возможности или знаний отключать ошибки, в результате чего они не используют ваш код.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...