首页 理论教育PHPMVC开发实战:类中成员详解

PHPMVC开发实战:类中成员详解

【摘要】:通过构造函数能够为类的完整性提供了保证。

一个功能完整的PHP类体都会包含许多类成员,类成员的设计决定了类的意义与功能,除了前面提到的类方法,常见的PHP类成员还包括构造函数、成员变量、类常量、释构函数等,下面将分别介绍。

1.构造函数

构造函数是一个比较特殊的函数,它用于类对象初始化时的默认传参。一个比较复杂的功能类,需要实现的功能非常多,程序员在调用类时往往需要处理一大堆默认参数,使用构造函数就可以在实例化类时直接以news(参数1,参数2)的方式进行赋值。如以下代码所示。

上述代码共有两个类,分别为class1和class2,它们输出的结果都为“李开涌在写代码”。class1类使用了__construct声明了一个构造函数,构造函数共有两个参数$_name、$_action,并指定两个参数的值赋给成员变量$name和$action,以便其他类方法进行调用,这两个参数在该类中的作用就是强制实例化时必须赋参,否则编译器将会报错。通过构造函数能够为类的完整性提供了保证。

class2没有使用构造函数,虽然也实现了和class1相同的功能,但在实例化类时需要进行额外的属性属赋值,代码也多了3行。上述示例只是简单地演示构造函数的功能,在类功能复杂的情况下,构造函数可以方便开发人员初始化类。此外,PHP构造函数除了使用__construct进行声明外,还可以使用与类同名的方法作为该类构造函数。

2.成员变量(www.chuimin.cn)

成员变量也称为成员属性,它是由普通的变量加上访问修饰符而构成的,成员变量和普通变量一样只用于临时存放数据,在PHP类设计中类变量还用于接收外部数据和反馈方法运行结果。如以下代码所示。

3.释构函数

PHP类构造函数一旦被初始化,编译器即会在操作系统内存区中建立资源堆栈,直到程序发出释放资源命令,才会释放该类所创建的资源。PHP使用__destruct()函数进行释构,它的功能是跟__construct构造函数取反值的,如以下代码所示。

如上述代码所示,使用__destruct()函数清除由构造函数创建的$name、$action资源,这个过程是自动化的,PHP不返回任何消息。事实上PHP的构造函数在实际应用开发中是不需要的,因为PHP内置了垃圾回收机制(garbage collection),就算不手动进行释放,PHP也能自动清理残留的内存资源,保证程序的运行效率