PHP常用关键字

猫斯基 30 2014-01-22

instanceof

instanceof,用于检测当前PHP对象实例是否属于某一个类的类型。

class Person{}
class Student extends Person {}
$p = new Person('xoN', 23, '男');
if ( $p instanceof Person ) {
	echo "$p属于Person类
"; } else { echo "$p不属于Person类
";} $s = new Student('dsd', 18, '女', 'Xx大学'); if ( $s instanceof Person ) { echo "$s属于Person类
"; } else { echo "$s不属于Person类
";} if ( $s instanceof Student ) { echo "$s属于Student类
"; } else { echo "$s不属于Student类
";} /* 打印结果: $p属于Person类 $s属于Person类 $s属于Student类 */

final

只能修饰类和方法,不能修饰成员属性。

修饰类时,这个类不能扩展,不能有子类。

修饰方法时,这个方法不能在子类中重载扩展。

static

使用static修饰的成员属性,存在于内存的初始化静态段;可以被同一个类的对象共用。

第一次用到类时(类名第一次出现),类加载到内存时,就已经将静态的成员加到了内存。

静态成员一定要使用类访问。类::静态成员

static不能修饰类。

self可以在类中的方法中使用,代表自己类的名称。

静态成员一旦被加载,只有脚本结束才释放。

在静态方法中不能访问非静态成员。因为不用创建对象就可以使用静态方法,没有对象的话,非静态成员就没有初始化。

只要能使用静态方法,就使用静态方法,效率高。

/**
 * @url https://www.maosiji.com
ds
 */
class Person {
	public static $name = 'a1';
	public static $age = '15';
	public static $sex = '女';
	public static $country = '中国';
	public static function say() {
		echo '我的名字是:'.self::$name.',年龄是:'.self::$age.',性别是:'.self::$sex.'。
'; echo "我的祖国是 ".self::$country."
"; } } Person::say(); echo Person::$country.'
'; Person::$country = 'USA'; echo Person::$country.'
'; Person::say(); /* 打印结果: 我的名字是:a1,年龄是:15,性别是:女。 我的祖国是 中国 中国 USA 我的名字是:a1,年龄是:15,性别是:女。 我的祖国是 USA */

const

const修饰的成员属性为常量,只能修饰成员属性。

常量建议使用大写,不能使用$

常量一定要在声明时赋值。

常量的访问方式和static静态的访问方式相同,但只能读,不能改。

在类外部使用 类名::常量名

在类内部使用 self::常量名

/**
 * @url https://www.maosiji.com
ds
 */
class Person {
	const SEX = 'man';
	static function say() {
		echo 'sex ---'.self::SEX;
	}
}
echo Person::SEX;
echo '
'; Person::say(); /* 打印结果: man sex ---man */

本文由 猫斯基 原创发布。

著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://www.maosiji.com/2557.html