文件加载
条件加载:include 文件名 ;include_once 文件名。
- include每次使用都会加载,但是多次加载会存在命名冲突问题。
- include_once,会限制同一个文件只能加载一次,避免命名冲突。
强制加载:require 文件名;require_once 文件名。
- require如果加载失败,终止当前脚本,多次加载,也会出现命名冲突问题。
- require_once,会限制同一个文件只能加载一次,避免命名冲突。
文件加载作用域
- 只要在同一个作用域内,文件外部变量可以在被加载文件内使用。
- 理解为include相当于把对应文件的代码放到对应引入的位置。
require和include区别
- require 在脚本执行前读入包含的文件,通常在文件的开头和结尾处使用;
- include 在脚本读到他的时候才将包含的文件读进来,通常在流程控制的处理区使用。
- 读取文件失败之后,require将产生一个致命错误,而include则只是一个警告。
举例
<?php
$a = 10;
$b = 20;
<?php
echo "$a $b <br>"; //未载入文件调用
include 'demo1.php';
echo "$a + $b" ;//载入文件后调用
- 结果可见未载入前调用,拿不到值,载入后,拿到了demo1中的变量值
类
类的声明:
<?php
权限修饰符 class 类名{
类成员;
}
权限修饰符
- 可选,常见修饰符包括 public 、private、和protected。省略时,默认public。
- public表示属性和方法从类内部和外部都可以使用
- private 属性和方法只能在类内部使用
- protected 属性和方法在类内部和子类中使用
实例演示类成员以及类成员访问
<?php
//定义类
class Gueste{
//定义属性
private $name;
private $gender;
//设置静态方法,通过类名::调用
public static $nation = 'CHINA';
//私有属性外部无法访问,所以提供get/set方法,此处可以通过增加判断,限制非法属性值
function setName($name){
//$this表示当前对象,->成员访问符
$this->name = $name;
}
function gettName(){
return $this->name;
}
function setGender($gender){
$this->gender = $gender;
}
function getGender(){
return $this->gender;
}
}
//实例化类的对象xiaoming
$xiaoming = new Gueste;
//调用成员方法
$xiaoming->setName('小明');
$xiaoming->setGender('男');
//输出对象信息
echo "姓名:".$xiaoming->gettName()."\t"."性别:".$xiaoming->getGender()."\t"."国籍".Gueste::$nation."<br>";
总结
- 如果遇到文件丢失需要继续执行,使用include,想要终止处理页面,则使用require。
- 注意访问权限的范围,合理使用private保证安全性
- 区分‘->’和‘::’,一个是对象访问成员,一个是类访问成员