如何使用已定义的变量来阻止PHP Notices?

Jas*_*vis 1 php notice

基本上我在页面上有一堆链接,我将使用这样的东西

<?PHP echo $SITE_PATH ?>
Run Code Online (Sandbox Code Playgroud)

很多次在同一页面上,但它会在PHP中显示一条通知.

我知道你应该使用像isset()这样的东西,但每次打电话时我真的需要使用它吗?

<?PHP echo $SITE_PATH ?>
Run Code Online (Sandbox Code Playgroud)

---编辑:
如果我切换到使用已定义的变量,那么通知似乎就消失了

Pas*_*TIN 9

两个解决方案,这里:

  • 只使用存在的变量 - 这是你应该做的.
  • 或测试如果它们存在(有isset)试图使用它们之前.

没有魔法^^

如果您的应用程序使用了许多未设置的变量,那么您的设计可能会遇到一些问题.


在你提出的一个案例中,对于一个多次使用的变量,我会确保它存在,如果不存在,则将其设置为'',例如,在我的脚本开头.

这看起来不是很好,但它会起作用 - 这样,你就不必完成整个应用程序,修补所有内容.

(或者我也可能会禁用该E_NOTICE error_reporting级别 - 我不喜欢这个想法,但有时候,它确实是处理某些代码库的唯一方法)