1.变量的作用域
变量的作用域是变量的一个作用范围,在这个范围内变量为可见的,即可以访问该变量的代码区域, 相反,如果不在这个范围内,变量是不可见的,无法被调用。
1.1 全局作用域:写到了函数的外部的变量
$siteName = ‘php中文网’
1.2 函数作用域
在php中,函数会创建出一个独立的作用域,不能直接访问外部的变量
在函数中创建的变量是私有变量,是可以访问的
如果想访问函数的外部的变量可以用以下方式:
- 使用global关键字,global是将全局作用域的变量的地址,进行复制,然后在局部作用域内新建一个同名的变量名,将外部的地址赋值给局部变量。
- 可以使用$GLOBALS超全局变量来访问
超全局变量,不受作用域限制,可以在函数中直接访问
2.php常量
2.1常量的设置和访问
如需设置常量,使用两种方式
- 关键字const
在类定义的外部定义常量
例如: const WEB_PATH = ‘/wwroot/xxx.com’ - define()函数
- 首个参数定义常量的名称
- 第二个参数定义常量的值
- 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
例如:define(‘WEB_NAME’,’php中文网’)
如果想访问自定义常量可以通过print_r(get_defined_constants(true)[‘user’])来查询
如果想访问常量的值可以通过函数constant()来查询
注意:
- 常量一旦定义就无法删除或取消
- 常量必须初始化
- 常量名称前面没有$符号(常量推荐全部大写,多个单词直接下划线连接)
- 常量可以不受变量的作用域限制而在任何地方定义和访问
2.2常量的命名空间
全局成员有:常量,类,函数,接口,命名空间解决了全局成员的命名冲突问题。
3.变量的过滤器
PHP 过滤器用于验证和过滤来自非安全来源的数据。
验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分。
下面简单介绍一些常用过滤器:
filter_var(),通过一个指定的过滤器来过滤单一的变量
filter_var_array(),通过相同的或不同的过滤器来过滤多个变量
filter_input(),获取一个输入变量,并对它进行过滤
filter_input_array() ,获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
filter_has_var(),检测是否存在某个外部变量
总结:写PHP代码是需要注意作用域的问题,学习常量从了解常量的定义、访问和命名空间开始。过滤器可以验证用户或者其他程序的数据,保证应用程序的安全性。