加载类文件
在实际开发中,往往把一个类定义在一个单独的文件中,在需要时在将其包含进来。
有两种方式:一时使用 require 语句,二是使用 include 语句。
可以使用绝对路径,也可以使用相对路径。
例如
<?php
require './People.class.php';
//使用People类
或者
<?php
include './People.class.php';
//使用People类
区别:
require 语句包含的文件如果有语法错误或不存在时,会提示“Fatal error”而终止程序运行。
而 include 则是提示“Warning”而程序继续运行。
还有 require_once 和 include_once 在包含文件时会检查是否已有同样的文件被包含,如果有则不会重复包含。不过尽量避免使用 require_once 和 include_once 语句。
从 PHP5 开始,可以通过一个 __autoload()
函数来实现类的自动加载。PHP在尝试使用未定义的类时,会自动调用此函数。
<?php
header("Content-type:text/html;charset=utf-8");
function __autoload($class_name){
require_once './' . $class_name . '.php';
//使用xxx类
}
类的继承
class 子类名 extends 父类名{
//...
}
类的访问控制
访问控制修饰符 | 能否在当前类中访问 | 能否在子类中访问 | 能否在外部访问 |
---|---|---|---|
public | Yes | Yes | Yes |
protected | Yes | Yes | No |
private | Yes | No | No |
被 public 修饰的属性和方法,可以程序的任何位置被访问,且能被子类继承,类方法的访问权限在默认状态都是 public。