属性
– 在类的成员方法里,可以用 ->
(对象运算符):$this->property
(其中 property 是该属性名)这种方式来访问非静态属性。静态属性则是用 ::
(双冒号):self::$property
来访问。
类常量
– 在定义和使用常量的时候不需要使用 ‘$’ 符号。
访问控制(可见性)
– var
定义的关键字访问权限为公有。
– 没有设置关键字的方法默认访问权限为公有。
– 同一个类的对象即使不是同一个实例也可以互相访问对方的私有与保护成员,因为这些对象的具体内部实现的细节都是已知的。
范围解析操作符::
– 可以用于访问静态成员,类常量,可以用于覆盖类中的属性和方法。
– 当在类定义之外引用这些项目时,要使用类名。
– 可以通过变量来引用类,该变量的值不能是关键字。
例:
<?php
class MyClass {
const CONST_VALUE = 'A constant value';
}
$classname = 'MyClass';
echo $classname::CONST_VALUE;
echo "<br/>";
echo MyClass::CONST_VALUE;
?>
– self
,parent
,static
这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。
— self
->当前类;
— parent
->父类;
— this
->当前对象。
例:
<?php
class MyClass {
const CONST_VALUE = 'A constant value';
}
$classname = 'MyClass';
echo $classname::CONST_VALUE;
echo "<br/>";
echo MyClass::CONST_VALUE;
echo "<br/>";
class OtherClass extends MyClass {
public static $my_static = 'static var';
public static function doubleColon() {
echo parent::CONST_VALUE . "<br/>";
echo self::$my_static . "<br/>";
}
}
$classname = 'OtherClass';
echo $classname::doubleColon();
OtherClass::doubleColon();
?>
#
遇到的基本语法问题
– \n
在 PHP 语法中是换行,为什么我输出没有换行?不过我平时更喜欢用 <br/>
。
未完