PHP静态延迟绑定简单示例

没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了

<?php
class A {
	protected static $def = '123456';

	public static function test() {
		echo get_class(new static);
	}

	public static function test2() {
		echo static::$def;
	}
}

class B extends A {
	protected static $def = '456789';
}

class C extends A {
	protected static $def = 'abcdef';
}

echo B::test();
echo '<br>';
echo C::test();
echo '<br>';
echo B::test2();
echo '<br>';
echo C::test2();
echo '<br>';
echo A::test();
echo '<br>';
echo A::test2();
echo '<br>';
// 输出结果
B
C
456789
abcdef
A
123456
时间: 2024-12-10 22:41:26

PHP静态延迟绑定简单示例的相关文章

PHP静态推延绑定简单示例

  PHP静态延迟绑定简单示例 没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了 class A { protected static $def = '123456'; public static function test() { echo get_class(new static); } public static function test2() { echo static::$def; } } class B extends A { protected static

PHP静态延迟绑定和普通静态效率简单对比

只是一个简单的小实验,对比了下 延迟绑定 和 非延迟的效率 延迟绑定主要就是使用 static 关键字来替代原来的 self ,但功能非常强大了 实验代码: class A { protected static $cc1 = array('a1', 'b', 'c', 'd'); protected static $cc2 = array('a2', 'b', 'c', 'd'); protected static $cc3 = array('a3', 'b', 'c', 'd'); prote

php生成静态页面的简单示例_php实例

发布新闻,实现新闻页面静态化,真静态 add.php 复制代码 代码如下: <html> <head>添加新闻</head>  <body>   <form method="post" action="doadd.php">      新闻标题:<input type="text" name="title" size="100"><

C#属性和静态重载方法简单示例1

这几天在看一本C#和VS2010结合的小书, 可以在约懂懂VS开发C#的东东. 讲得不深,适合我无脑的机械照搬.. 特别是想熟悉一下常用控件和数据库及网络部份.GDI+真的没兴趣呀. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication4 { class MyCl

【万里征程——Windows App开发】数据绑定——简单示例、更改通知、数据转换

简单的数据绑定示例 相比于理论,我更倾向于从实践中开始博客,尤其是对于数据绑定.那么,我们先来看看几个简单的例子. 1.数据绑定到TextBox 我们依旧使用前面的闹钟类来开始.在下面的代码中,我们有属性.构造函数,还有一个ToString()方法的重载.之所以重载这个方法是因为我们想在最后绑定的时候,这三个属性能够在TextBox上显示得更加工整. public class Alarm { public string Title { get; set; } public string Desc

在c#使用IOCP(完成端口)的简单示例

这次给大家演示一下利用IOCP的在线程间传递数据的例子,顺便打算讲一些细节和注意的地方. 概述:这里主要使用IOCP的三个API,CreateIoCompletionPort,PostQueuedCompletionStatus,GetQueuedCompletionStatus,第一个是用来创建一个完成端口对象,第二个是向一个端口发送数据,第三个是接受数据,基本上用着三个函数,就可以写一个使用IOCP的简单示例. 其中完成端口一个内核对象,所以创建的时候会耗费性能,CPU得切换到内核模式,而且

AOP:基于AspectJ编码简单示例

 一.基本概念 AspectJ 是一种面向切面程序设计的基于 Java 的实现.它向 Java 中加入了连接点(Join Point)这个新概念,其实它也只是现存的一个 Java概念的名称而已.它向 Java 语言中加入少许新结构:切点(pointcut).通知(Advice).类型间声明(Inter-type declaration)和方面(Aspect).切点和通知动态地影响程序流程,类型间声明则是静态的影响程序的类等级结构,而切面则是对所有这些新结构的封装.     基于切面.连接点.切点

《Android 源码设计模式解析与实战》——第2章,第2.5节单例模式的简单示例

2.5 单例模式的简单示例单例模式是设计模式中比较简单的,只有一个单例类,没有其他的层次结构与抽象.该模式需要确保该类只能生成一个对象,通常是该类需要消耗较多的资源或者没有多个实例的情况.例如,一个公司只有一个CEO.一个应用只有一个Application对象等.下面以公司里的CEO为例来简单演示一下,一个公司可以有几个VP.无数个员工,但是CEO只有一个,请看下面示例. 示例实现代码 package com.dp.example.singleton; // 普通员工 public class

spark sql简单示例

运行环境 集群环境:CDH5.3.0 具体JAR版本如下: spark版本:1.2.0-cdh5.3.0 hive版本:0.13.1-cdh5.3.0 hadoop版本:2.5.0-cdh5.3.0 spark sql的JAVA版简单示例 spark sql直接查询JSON格式的数据 spark sql的自定义函数 spark sql查询hive上面的表 import java.util.ArrayList; import java.util.List; import org.apache.sp