【问题标题】:include and require functions in PHP are not adding contents but not erroring outPHP 中的 include 和 require 函数不会添加内容但不会出错
【发布时间】:2012-08-13 19:50:06
【问题描述】:

我正在使用 Codeigniter 框架,并且我有一个 include_once('filename');在函数的开头。在调试模式下单步执行代码时,调用函数会正确评估文件名。然后,我实际上可以逐行遍历我试图包含的文件。当我正确地在包含的文件中时,变量会显示出来,一旦我退出包含文件并返回到具有 include_once() 调用的调用者函数,所有数据都消失了,并且设置的变量在“文件名”中未初始化。什么可能导致这种行为?

【问题讨论】:

  • 你能告诉我们你正在使用的代码吗?
  • 我不确定它是否相关,但在 Codeigniter 的某些情况下,include(s) 可能有些可疑。我在寻找自己的答案时发现了您的问题:stackoverflow.com/questions/8156743/…
  • 很抱歉我放弃了这个问题。在询问时我是 StackOverflow 的新手。我不再面临这个问题,但不幸的是我不知道我是如何解决它的,因为它是很久以前的了。

标签: php include


【解决方案1】:

也许(即,当然)问题在于,正如您所说,您将文件包含在函数中。因此,所有变量将仅存在于该函数的范围内,而不存在于它之外。

您可以将这些变量声明为全局变量(这是不受欢迎的),或者更好地让函数 return 从包含文件的变量中获取您需要的值。

通过PHP Variable scopes了解更多信息

【讨论】:

  • 抱歉没有说清楚,但我在尝试使用包含的内容的同一函数中使用了包含。当我说调用者和被调用者时,我指的是实际调用 include() 函数的函数。
  • 好吧,在这种情况下,您最好提供一些代码,否则几乎不可能发现错误!请编辑您的问题,添加您提到的功能,谢谢。
猜你喜欢
  • 2014-03-02
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 2011-12-23
相关资源
最近更新 更多