search
Homephp教程php手册双冒号 ::在PHP中的使用情况,冒号php使用情况

双冒号 ::在PHP中的使用情况,冒号php使用情况

前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况!

双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
在类定义外使用的话,使用类名调用。在PHP 5.3.0,可以使用变量代替类名。

Program List:用变量在类定义外部访问

<&#63;php
class Fruit {
 const CONST_VALUE = 'Fruit Color';
}
$classname = 'Fruit';
echo $classname::CONST_VALUE; // As of PHP ..
echo Fruit::CONST_VALUE;
&#63;>
Program List:在类定义外部使用::
<&#63;php
class Fruit {
 const CONST_VALUE = 'Fruit Color';
}
class Apple extends Fruit
{
 public static $color = 'Red';
 public static function doubleColon() {
  echo parent::CONST_VALUE . "\n";
  echo self::$color . "\n";
 }
}
Apple::doubleColon();
&#63;>

程序运行结果:

Fruit Color Red

Program List:调用parent方法

<&#63;php
class Fruit
{
 protected function showColor() {
  echo "Fruit::showColor()\n";
 }
}
class Apple extends Fruit
{
 // Override parent's definition
 public function showColor()
 {
  // But still call the parent function
  parent::showColor();
  echo "Apple::showColor()\n";
 }
}
$apple = new Apple();
$apple->showColor();
&#63;>

程序运行结果:

Fruit::showColor()
Apple::showColor()

Program List:使用作用域限定符

<&#63;php
 class Apple
 {
  public function showColor()
  {
   return $this->color;
  }
 }
 class Banana
 {
  public $color;
  public function __construct()
  {
   $this->color = "Banana is yellow";
  }
  public function GetColor()
  {
   return Apple::showColor();
  }
 }
 $banana = new Banana;
 echo $banana->GetColor();
&#63;>

程序运行结果:

Banana is yellow

Program List:调用基类的方法

<&#63;php
class Fruit
{
 static function color()
 {
  return "color";
 }
 static function showColor()
 {
  echo "show " . self::color();
 }
}
class Apple extends Fruit
{
 static function color()
 {
  return "red";
 }
}
Apple::showColor();
// output is "show color"!
&#63;>

程序运行结果:

show color

以上内容给大家详解了::在PHP中的使用情况,希望大家喜欢。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)