对码当歌,猿生几何?

PHP类

        nblogs-markdown">


title: PHP类
date: 2018-6-20
categories:

  • PHP学习笔记
    tags:

  • php

加载类文件

在实际开发中,往往把一个类定义在一个单独的文件中,在需要时在将其包含进来。
有两种方式:一时使用 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 父类名{
    //...
}

类的访问控制

访问控制修饰符能否在当前类中访问能否在子类中访问能否在外部访问
publicYesYesYes
protectedYesYesNo
privateYesNoNo

被 public 修饰的属性和方法,可以程序的任何位置被访问,且能被子类继承,类方法的访问权限在默认状态都是 public。