热搜词
发表于 2016-11-29 14:58:48 | 显示全部楼层 |阅读模式
前几天在百度知道里面看到有人问php中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况!

    一,当调用静态属性和静态方法时
    ::与->的作用相同,只不过使用的对象不一样!::引用类里面的静态方法或者属性,而且不需要实例化!
    建立一个类,并且建立一个静态属性$a,一个静态方法b,如下:

  1. class test {
  2.     static public $a;
  3.     static public function b() {}
  4. }
复制代码

    如果要调用静态属性$a,如下
test:a;

    注意,a前面需要带$符号,这一点与->符号不一样!
    如果要调用静态方法b,如下
test::b();

    二,当调用自身类或者父类的属性或者方法时
    首先建立一个父类
class test {    public function b() {}}
    然后建立一个子类继承父类
class tests extends test {    public function cs() {}}
    当我们需要调用父类的方法b时
parent::b();

    当我们需要调用自身的方法cs时,有两种方法
self::cs();
$this->cs();

    我遇到的大概就是以上两种情况,如果大家还遇到什么其他的情况,欢迎来王业楼的个人博客补充哈!


全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-10-5 09:59 , Processed in 0.163577 second(s), 23 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team