2013-08-24 101 views
0

我收到了很多未定义的变量错误在Zend Studio的10未定义的变量错误

我有一个PHP文件是这样的:

文件var.php

<?php 
$functions = $root."/requires/functions.php"; 
$top_utf = $root."/requires/top_utf.php" ; 
$database = $root."/requires/db.php" ; 
$footer = $root."/requires/pageFooter.php" ; 
?> 

现在,如果我在一个php文件中使用下面的代码,zend studio显示未定义变量所有require_once行上的错误。 (如果我访问该页面使用浏览器按预期的方式显示页面,它完美的作品。)

<?php 
$root = $_SERVER['DOCUMENT_ROOT']; 
require_once($root."/requires/vars.php") ; 
require_once($functions); 
require_once($top_utf); 
require_once($database); 
require_once($footer); 
?> 

不Zend Studio的认识包含文件中(var.php在这种情况下)声明的变量? 由于$ functions和$ top_utf变量是在var.php中定义的,我相信我不应该收到这些错误。 任何类型的建议,非常感谢。

+0

你在你的示例代码typo'd“$函数”定义常量,顺便说一句。 – dualmon

+0

谢谢。发生这种帮助请求时发生了这种情况。主要的PHP文件是正确的。 – Tera

回答

0

如果你打算使用的编程,这我不主张的这种风格,我建议你在你的var.php代替

+0

感谢您的帮助。但是因为我是PHP的新手,更详细的回复可以帮助我更好。我在所有页面中使用了一系列变量(约36)。为了使php文件更易于使用,我将变量移动到var.php文件中,并将该文件包含在每个页面的顶部。你认为把所有变量都放在所有页面的顶部会更好吗?你能解释为什么你不提倡这个吗?我也在var.php中定义了变量,仍然主要的php文件被** Undefined Variable **错误填充。 – Tera

+0

对不起,我试图纠正我以前的评论,但已经太晚了。定义变量。但我仍然渴望知道为什么你不提倡这种类型的编程(收集文件中的所有变量并将其包含在其他php文件的顶部)。感谢您的帮助。 – Tera

+0

使用包含这样的过程称为过程式编程。它回到了PHP的根源,这是常见的使用它。 PHP现在是面向对象的,并且使用了名称空间和类自动加载,它们比过程风格有很多优点,比如你的例子。既然你在使用Zend Studio,你可能想看看Zend Framework 2 http://framework.zend.com/manual/2.2/en/index.html – dualmon