PHP的后期静态绑定

self 是个孝子 不管后来 谁是它的领导(调用它)  谁生了它  它就听谁的

子类调用父类的方法 self 的生存空间是父类 不管是不是子类调用 我生在哪 我就在哪个类里面找属性/方法

static  就是所谓的后期静态绑定

static 一切听命令  是谁调用的它  它就听谁的

子类调用的 我就找子类的属性/方法 我不管我(代码) 是不是写在父类里面

时间: 2024-10-28 09:56:13

PHP的后期静态绑定的相关文章

php面向对象编程笔记static的后期静态绑定

最近在看laravel的源码,开始的时候static关键字的用法让我读完一头雾水, static不应该是用来定义静态变量方法和属性的么? 在方法中 static::setInstance($this); 是什么? 查了手册才明白,这是static关键字的另一种用法,"后期静态绑定",也可以称为"静态绑定" http://php.net/manual/zh/language.oop5.late-static-bindings.php 官方的介绍: 该功能从语言内部角度

PHP中的后期静态绑定

<?php class A { public static function foo() { static::who(); } public static function who() { echo __CLASS__."\n"; } } class B extends A { public static function test() { /*A::foo(); A::foo(); B::foo();*/ A::foo(); parent::foo(); self::foo()

【转】PHP中的后期静态绑定(Late Static Bindings )

php5.3版本新增的静态绑定的静态绑定语法,也成为PHP的后期静态绑定,如下 class A{ public static function func1(){ echo __CLASS__.PHP_EOL; } public static function test(){ self::func1(); } } class B extend A{ public static function func1(){ echo __CLASS__.PHP_EOL; //__CLASS__是当前类的名称

PHP 中 parent、self、static、$this 的区别 &amp; 后期静态绑定详解

自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类. 虽然也可以调用非静态方法,但是不会在运行时绑定. static 不再只是简单的静态修饰关键字.而是还可以调用类的静态方法,非静态方法,为什么静态非静态要分开说呢,因为调用的效果是不一样的. 实例 1 class A { 2 3 protected $name = 'A'; 4 static $alias = 'a'; 5 const HASH = 'md5'; 6 7 public func

PHP延迟静态绑定(本文属于转发)

这段时间看项目后台的PHP代码,看到了类似于以下的一段代码,我把它抽出来: <?php class DBHandler { function get() {} } class MySQLHandler extends DBHandler { // 这里一个create public static function create() { echo "MySQL"; return new self(); } public function get() { echo "MyS

PHP 类的一些知识点

1.类的定义 <?php class Cart{ var $items; function add_item($artnr,$num){ $this->items[$artnr += $num; } } 不能将一个类分开定义在多个文件,也不能将类定义分到多个PHP块(函数内部可以分). 不能定义名为以下的类: stdClass __sleep __wakeup 事实上不要以__开头定义类. 2.构造函数 class Cart { var $todays_date; var $name; var

PHP5.2至5.6的新增功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数

学习yii2.0框架阅读代码(十二)

先把Object.Component.Module三个核心搞清楚了在写实例 下面介绍一下Object -- Yii最基础的类,大多数类都继承了该类.常用的12个公共方法,有点类似于ThinkPHP里面的魔术方法. <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/

php核心知识纲要总结以及学习路线

php介绍 缩写:Personal Home Page ==>>PHP:HypeText Preprocessor 历史 1995PHP/FI,Rasmus Lorderf,Personal Home Page 1997PHP/FI2.0,1998PHP3,2000PHP4,2005PHP5 应用范围: web服务器端脚本 命令行脚本 应用程序图形界面 php运行环境 BS软件模式 浏览器软件若干 web服务器软件若干 后台程序语言若干 web运行流程: 浏览器输入地址,回车(发送请求) 根据