Два решения, здесь:
- используйте только существующие переменные - это то, что вы, вероятно, должны делать.
- или проверьте, существуют ли они (с
isset
) , прежде чем пытаться их использовать.
Нет магии ^^
Если в вашем приложении используется много неустановленных переменных, возможно, у вас есть проблемы с дизайном.
В случае, подобном тому, который вы представили, для переменной, которая использовалась много раз, я бы удостоверился, что она существует, и, если нет, установил бы ее '', например, в начале моего сценария.
Это не очень хорошо выглядит, но это сработает - и, таким образом, вам не придется проходить через все ваше приложение, исправляя все.
(Или я мог бы также отключить уровень E_NOTICE
error_reporting
- мне не нравится эта идея, но иногда это действительно единственный способ справиться с некоторой кодовой базой)