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