【php基础知识:类与对象(5) static】教程文章相关的互联网学习教程文章

php5.3 延迟静态绑定 static关键字【代码】

1//传统模式 --这段代码能很好工作,但大量的重复代码很烦人,不想为每个DomainObject子类都创建这段相同代码吧? 2/* 3 4abstract class DomainObject{}5 6class User extends DomainObject7{8 public function __construct()9 { 10 echo __METHOD__; 11 } 1213 public static function create() 14 { 15 return new self(); 16 } 1718} 19class Document extends DomainObject 20{ 21 public...

php中self和static的区别

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>网页标题</title> <meta name="keywords" content="关键字列表" /> <meta name="description" content="网页描述" /> <link rel="stylesheet" typ...

PHP 面向对象中常见关键字使用(final、static、const和instanceof)

PHP 面向对象中常见关键字的使用:  1、final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性。    作用: 使用final标识的类,不能被继承。        在类中使用final标识的成员方法,在子类中不能覆盖。    总结:final表示为最终的意思,所以使用final关键字的类或者类中的成员方法是不能被更改的。  2、static :static关键字将类中的成员属性或者成员方法标识为静态的,static标...

PHP 的 new static 和 new self【代码】

下面我们举个例子: 1class Father {2 3publicstaticfunction getSelf() {4returnnew self();5 }6 7publicstaticfunction getStatic() {8returnnewstatic();9 } 1011} 1213class Son extends Father {} 1415echoget_class(Son::getSelf()); // Father1617echoget_class(Son::getStatic()); // Son1819echoget_class(Father::getSelf()); // Father2021echoget_class(Father::getStatic()); // Fathernew self这里面注意这一行...

PHP 面向对象中常见关键字使用(final、static、const和instanceof)

PHP 面向对象中常见关键字的使用:  1、final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性。    作用: 使用final标识的类,不能被继承。        在类中使用final标识的成员方法,在子类中不能覆盖。    总结:final表示为最终的意思,所以使用final关键字的类或者类中的成员方法是不能被更改的。  2、static :static关键字将类中的成员属性或者成员方法标识为静态的,static标...

php静态变量理解----(变量前面添加static关键字)【代码】【图】

php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的值,常用于递归或子函数中保留之前的值,可以用来定义变量和方法,作用就不具体说了,说一下使用方式,下面简单的代码: 1 <?php 2function add($i){3static$sum = 0;4if($i<=100){5$sum=$sum+$i;6 add($i+1);7 }8...

php基础知识:类与对象(5) static

Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can). 声明静态的类变量和方法可以不需要实例化类对象的情况下对他们进行调用。静态类不能被类对象调用。(类的静态方法可以)。//注意看第一个例子,在一个非静态的方法中调用了静态的变量。唯一...

PHP类的静态(static)方法和静态(static)变量使用介绍

PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下 在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件: A. 如果是变量,需要该变量可访问。 B. 如果是方法,除了该方法可访问外,还需要满足:...

【php】new static的用法【代码】

在一个类中,常见的是new self()操作,代表返回自身类的实例。当父类中存在方法,然后每个子类继承于父类,调用这个方法会返回自身的实例化对象,<?php class A {function create(){returnnew self();} }class B extends A {}B->create(); //返回A的实例化 那么当子类调用create时,返回的是A类的实例现在有个需求就是,调用父类中返回实例化的方法时,返回当前子类的实例化,那么就可以用new static()来操作了<?php class A {fun...

PHP中static关键字原理的学习研究分析

看PHP手册的时候发现了下面这样一段代码: 复制代码 代码如下:<?php function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?> 执行结果如下: 这是一个递归的函数,声明的静态变量count记录次数,输出1~10。 我在看的时候有个疑惑,递归调用的时候 static $count = 0; 语句会重复执行,这为什么不会导致count变量被重复赋值呢?带着这个疑问和同事研究了一下,测试用代码如下:...

php面向对象中static静态属性和静态方法的调用【代码】

关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。实例:header("content-type:text/html;charset=utf-8"); class Human{static public $name = "小妹";public $height = 180;static public function tell(){echo self::$name;//静态方法调用静态属性,使用sel...

php中static静态变量的使用方法详解

php中static静态变量的使用方法详解 php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。 看看下面的实例: 复制代码 代码如下:<?php function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?> 本 函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一...

php使用static变量做缓存的技巧

function updateFirstEndFromBatchtasks(...){ static $cache=array(); $val=$$cache[$key]; if(is_null($val)){ $val=.....//获取$val的值 $cache[$key]=$val; } } static变量实现缓存的优缺点: 优点: 速度快,效率高,实现简单。由于是PHP内部变量,是所有缓存中执行效率最高的。 缺点: 灵活性差,只在本次连接中有效,执行区域小,只在同一个函数中有效,无法跨函数运作(可以使用全局变量...

PHP中运用static变量做缓存(小技巧)【图】

PHP中使用static变量做缓存(小技巧)?? 我最近为客户做一个导入功能,功能中有一个需求,客户中有一个媒体字段,导入后要根据导入客户的媒体,查出媒体的一些数据更新到这个客户的字段中。 ?? 当我做完后,测试导入功能没有问题,便交付了,过不多久,客户反映速度有点慢,在查原因,发现和查出媒体的一些数据有关,虽然sql语句执行时间很短,但是由于导入数据量很大,每一次都要执行,导致了时间延长了。 ?? 分析了原因后,我们想...

static-请问下PHP中5.3之前的版本和5.3之后的版本在静态化类上面有什么区别吗?

我接触PHP 都是接触5.6版本的以前的版本没接触 求高手帮忙,我的PHP 用5.3版本就不报错,已改成5.6版本就开始报错说静态类不能使用, static public function(){ ....}**Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\W...

STATIC - 相关标签