我是非常新的PHP,我习惯写.net,我发现包含难以理解,并希望有人可以帮助我理解如何在文件中正确使用包含一次,而不是每个功能..
以下面的例子为例
<?php
include 'test.php';
function test($a)
{
echo $value_from_test_php;
}
?>
以上代码似乎不起作用......但是下面的代码
<?php
function test($a)
{
include 'test.php'
echo $value_from_test_php;
}
?>
我很难弄清楚如何为文件中的所有函数进行包含工作,而不是将其包含在每个函数中,任何建议都非常感谢!
答案 0 :(得分:1)
变量的范围令人烦恼而不是包含,在PHP中通常包括在每个页面上都包含公共页面/标记的地方,例如页脚,标题等
有4种类型
include
include_once
require
require_once
唯一的区别是include
会在出现问题时抛出错误并继续执行require
将停止进一步执行的脚本
您将在此处获取所有内容 - PHP Documentation
答案 1 :(得分:0)
这完全取决于文件中的内容include
- ing!我永远不会建议在函数内部使用include
(或循环,或几乎任何带括号的东西)。请记住,所包含文件的内容实际上只是“插入”位置,就在include
语句所在的位置。因此,当您include
时,您所处的范围(全局,类,函数等)是其内容将被声明的范围。
将完整的类和函数定义放在文件中,include
将它们放在要使用它们的文件的顶部。
答案 2 :(得分:0)
第一个示例无效,因为您使用全局范围内的变量,如果您想使用它,请将$value_from_test_php
替换为$GLOBALS['my_var_name']
答案 3 :(得分:0)
您的问题与包含无关,而是variable scope。默认情况下,函数外部定义的变量在函数中不可用。
如果不确切地知道你正在尝试做什么,很难建议最好的解决方案,但文档(上面链接的)应该让你开始。