【问题标题】:Eclipse Php : variable undefined evenif it is defined in an require_once php fileEclipse Php:变量未定义,即使它是在require_once php文件中定义的
【发布时间】:2018-12-10 02:30:17
【问题描述】:

我作为初学者使用: 面向 PHP 开发人员的 Eclipse IDE 版本:光子发布(4.8.0) 版本号:20180619-1200 操作系统:Windows 10、v.10.0、x86_64 / win32 Java版本:1.8.0_77

我有一个带有require_once(initialisation.php) 的文件 index.php initialisation.php 定义了一个变量 $Modeles_Chemin 并且变量 $Modeles_Chemin 在 index.php 中使用(在require_once之后)

在我的网站上,它工作正常没有未定义的变量,但在 Eclipse 编辑器中我收到了一个未定义的变量

(当然我对其他变量也有同样的问题)。

这是一个摘录: index.php:

<?php
require_once("prog/php/initialisation_site.php");
include($Modeles_Chemin.$Modeles_Nom."/html_begin.php");

initialisation_site.php

        $Contenu_Chemin = "contenu/";
$Modeles_Chemin = $Contenu_Chemin."modeles/";

我该如何解决这个问题?

谢谢

【问题讨论】:

  • 在同一个文件“initialisation_site.php”中我有字符串变量和类对象。 Eclipse 可以“看到”类但不能“看到”字符串变量。为什么????
  • 相关:bugs.eclipse.org/bugs/show_bug.cgi?id=538418
  • $Modeles_Nom: 这个变量在哪里定义的?
  • 看起来$Modeles_Nom是他未定义的一个。其实很明显!
  • @delboy1978uk 我知道他把那个未定义的变量放在那里是错误的,但问题在于 Eclipse PHP 变量验证器忽略了 include 和 require。

标签: php eclipse undefined require-once


【解决方案1】:

这可能意味着 Eclipse 不理解这些变量是在您使用 require_once 导入的文件中定义的。

也许可以在 Eclipse 设置中关闭未定义变量的注释?但是你也不会看到其他未定义变量的警告。

【讨论】:

  • 这看起来更像是评论而不是任何解决方案。
  • 这意味着我所有的 PHP 包含或需要不会被视为它们包含的 php 文件的一部分?我相信 Eclipse 可以做得更好
【解决方案2】:

你可以使用global:

require_once("prog/php/initialisation_site.php");

global $Modeles_Chemin;
global $Modeles_Nom;

include($Modeles_Chemin.$Modeles_Nom."/html_begin.php");

【讨论】:

    【解决方案3】:

    如果您想摆脱这些警告,您可以考虑将这种注释放在文件顶部:

    /** @var 类型 $variable */

    这是一种解决方法,但我发现它是一个好方法。 这种评论让我知道我正在使用在不同文件中定义的变量。

    【讨论】:

    • 当文件被包含在其他地方并且变量在包含之前定义时,这也很有用。
    • 我正在使用 CodeIgniter MVC 框架,这个 Eclipse“未定义”警告无处不在。我尝试了 GLOBAL,它在某些地方有效,但在其他地方引起了问题。这个@var 解决方案适用于所有情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 2020-10-22
    相关资源
    最近更新 更多