php包含(include/require)文件时的作用域
当一个php脚本被require/include时,他的变量作用域根据其上下文环境决定.
1.如果是在一个函数中require/include一个文件,则此文件中的变量作用域是这个函数的范围.也就是说,这个文件只能访问此函数内在载入这个文件前所定义的变量,全局变量是不能访问的.距离说明
脚本test.php的内容:
<?php
function foo(){
$GLOBALS['a']="i am global";
$b="i am variable inner function";
include "included-file.php";
}
foo();
脚本included-file.php的内容:
<?php
echo $a,$b;
运行test.php的结果是:
Notice: Undefined variable: a in E:\work\phpcom\aa.php on line 2
i am variable inner function
2.如果是在全局环境中引入一个文件,那这个文件是可以直接访问全局变量的.
php包含(include/require)文件时的作用域的更多相关文章
- php学习笔记6--php中的文件包含 include,require,include_once,require_once
php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...
- 泰德激光打标软件 包含 #include "Main.h" 时 原本正确的单元却报错
问题:泰德激光打标软件 ,当新增单元需要包含 #include "Main.h" 时, 原本正确的单元却报错. 办法:包含 #include "Main.h" ...
- C++包含头文件时尖括号和双引号区别
原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作# ...
- C/C++ 引入头文件时 #include<***.h> 与 #include"***.h" 区别
两种情况区分: 1.#include <> 编译器只会去系统文件目录中查找,找不到就报错. 2.#include " " 编译器会先在用户目录中查找,再到编译器设定的 ...
- php include,require,include_once,require_once 的区别
include(),require(),include_once(),require_once()作用都是包含并运行指定文件,但是使用场景又有很大区别. 1.include()和require()的区 ...
- sublime打开文件时自动生成并打开.dump文件
GBK Encoding Support 没有安装前打开ASNI格式编码文件会乱码,安装成功重启则可以打开正常 关于.dump文件生成的解释: 当打开一个非utf-8格式且包含汉字的文件时,subli ...
- PHP 文件包含总结 include require 命名空间 autoload spl_autoload_register 读取文件路径
总结: 1. include或require包含其他文件 使用./或者 ../,这里的当前路径和上一层路径,取决于运行脚本的路径,会存在如下问题. 在写PHP程序时,经常要用到include或requ ...
- php 文件包含 include、include_once、require、require_once
简言之,include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码,带_once的是看看之前引用过没,引用过就不引用了(_once这行代码的心里活动:“之后引用过没有我不关心, ...
- PHP内的包含语句(include(),require(),include_once(),require_once())
背景:继续总结PHP内的函数. 在一般的程序中,我们经常重复用到一些代码,但是如果只是简单的进行代码复制,则会增加代码的冗余度,不便于程序的运行.因此,我们可以把重复性的代码分离出来,以外部文件的方式 ...
随机推荐
- SSIS 参数与环境
微软 BI 系列随笔 - SSIS 基础 - 参数与环境 简介 在上一篇博客中,主要讲述了如何实现SSIS的项目部署,参见 微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模 ...
- jmf找不到摄像头设备解决办法
1.安装的jdk需要时32位的. 2.在jmfregistry中注册捕获设备. 3.jar文件必须和配置文件在一起.可以新建User library把jar文件添加进去.
- ImageLoader介绍2
Universal Image Loader 是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.所以,如果你的程序里需要这个功能的话,那么不妨试试它.他本来是 ...
- JAVA为什么要配置环境变量,怎样配置
自己总结些再加抄点:安装JDK后要配置环境变量,主要有三个:1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_042 CLASSPATH ->到哪里找需 ...
- Web Services 中XML、SOAP和WSDL的一些必要知识
Web Services 是由xml来定义数据格式的,通过SOAP协议在各个系统平台中传输,那么接下来讨论下SOAP和WSDL的各自作用. SOAP和WSDL对Web Service.WCF进行深入了 ...
- 2. xargs 命令
1.简介 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是 ...
- FPGA基本原理之一
FPGA就好像一个平台,用简单的器件和复杂的逻辑构建起来的.这个平台大概由六部分组成,分别为基本可编程逻辑模块(CLB).可编程输入/输出模块(IOB).嵌入式块RAM.丰富的布线资源.底层嵌入功能单 ...
- Android软件更新安装。
app的开发有一个问题是避免不了的,那就是软件的升级维护. 这里我在查过一些资料和写了一个升级帮助类.使用很方便.直接导入就可以了. ( VersionBean.class为更新地址返回的数据对象,我 ...
- Setup Apache + PHP + MySql on Windows 10
The below steps recorded my experiences to setup the Apache + PHP + MySql on my Windows 10. 1. Downl ...
- Java和C++中的static
1.Java类中的static变量和static方法会在类装载的过程中就得到内存分配,然后就会进行初始化工作.最多可能会被初始化3次,静态代码块的执行在main方法之前. static变量不可以在构造 ...