1、static 静态方法不能访问非静态成员(属性、方法)
2、const 定义常量,
(1)类内访问self::,类外访问className::
(2)const不能在条件语句中定义常量,define()可以
(3)const定义的常量不能用表达式,define()可以
(4)大小写敏感,define()可以通过第三个参数来定义大小写不敏感的常量
(5)define()不能用在类中
(6)const采用一个普通的常量名称,define可以采用表达式作为名称。
3、php 魔术常量
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
4、魔术方法
__sleep() serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。
__wakeup() unserialize() 会检查是否存在一个 __wakeup() 方法
__toString() 方法用于一个类被当成字符串时应怎样回应
__invoke() 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。
__set_state() 当调用 var_export() 导出类时,此静态 方法会被调用。
__debugInfo() This method is called by var_dump() when dumping an object to get the properties that should be shown. If the method isn't defined on an object, then all public, protected and private properties will be shown.
__construct()
__destruct()
__call()
__callStatic()
__get()
__set()
__isset() 当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。
__unset() 当对不可访问属性调用 unset() 时,__unset() 会被调用。
__clone()
5、静态绑定
self:: static::
new self() new static()
286

被折叠的 条评论
为什么被折叠?



