php学习之操作符

1. 范围解析操作符 (::)

范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。
当在类定义之外引用到这些项目时,要使用类名。

自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。

把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。事实上这个词在希伯莱文就是双冒号的意思。

<?php
class MyClass {
    const CONST_VALUE = 'A constant value';  //定义常量
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // 自 PHP 5.3.0 起  

echo MyClass::CONST_VALUE;  //访问常量
?>
(1.1) self,parent 和 static

在类定义内部使用 ::

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'static var';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon(); // 自 PHP 5.3.0 起

OtherClass::doubleColon();
?>

调用父类的方法

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // 覆盖了父类的定义
    public function myFunc()
    {
        // 但还是可以调用父类中被覆盖的方法
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

2. PHP中=>和->用法

2.1 =>的用法
在php中数组默认键名是整数(如:0,1,2 .....),也可以自己定义任意字符键名(最好是有实际意义),如:

$css=array('style'=>'0',‘color’=>‘green‘); //关联数组的写法

 则$css['style']=='0',$css['color']=='green'。

2.2 ->的用法
->用来引用对象的成员(属性与方法);


  $arr=['a'=>123,'b'=>456];//数组初始化

  echo $arr['a'];//数组引用

  print_r($arr);//查看数组

  class A{

    public $a=123;

    public $b=456;

  }

  $obj=new A();

  echo $obj->a;//对象引用

  print_r($obj);//查看对象

?>

over!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容