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


Posted in PHP onNovember 05, 2015

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

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

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

<?php
class Fruit {
 const CONST_VALUE = 'Fruit Color';
}
$classname = 'Fruit';
echo $classname::CONST_VALUE; // As of PHP ..
echo Fruit::CONST_VALUE;
?>
Program List:在类定义外部使用::
<?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();
?>

程序运行结果:

Fruit Color Red

Program List:调用parent方法

<?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();
?>

程序运行结果:

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

Program List:使用作用域限定符

<?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();
?>

程序运行结果:

Banana is yellow

Program List:调用基类的方法

<?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"!
?>

程序运行结果:

show color

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

PHP 相关文章推荐
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php文本转图片自动换行的方法
Mar 13 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
php如何连接sql server
Oct 16 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
php封装的page分页类完整实例
Oct 18 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
thinkphp5实现微信扫码支付
Dec 23 PHP
php根据用户语言跳转相应网页
Nov 04 #PHP
非常全面的php日期时间运算汇总
Nov 04 #PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 #PHP
PHP实现HTML页面静态化的方法
Nov 04 #PHP
php实现网站留言板功能
Nov 04 #PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 #PHP
两种php去除二维数组的重复项方法
Nov 04 #PHP
You might like
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
php strftime函数的详细用法
2018/06/21 PHP
php实现每日签到功能
2018/11/29 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
python自动化测试实例解析
2014/09/28 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
Python 控制终端输出文字的实例
2019/07/12 Python
Django model select的多种用法详解
2019/07/16 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
python给list排序的简单方法
2020/12/10 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
领导视察欢迎词
2014/01/15 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
小学生校园广播稿
2014/09/28 职场文书
2015年招聘工作总结
2014/12/12 职场文书
校运会宣传稿大全
2015/07/23 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
详解mysql三值逻辑与NULL
2021/05/19 MySQL
详解Laravel服务容器的优势
2021/05/29 PHP
Python一行代码实现自动发邮件功能
2021/05/30 Python
MySQL 字符集 character
2022/05/04 MySQL