【php中static静态变量的使用方法详解】教程文章相关的互联网学习教程文章

php面向对象编程self和static的区别

在php的面向对象编程中,总会遇到 class test{public static function test(){self::func();static::func();}public static function func(){} }可你知道self和static的区别么? 其实区别很简单,只需要写几个demo就能懂: Demo for self:class Car {public static function model(){self::getModel();}protected static function getModel(){echo "This is a car model";} }Car::model(); Class Taxi extends Car {protected stat...

PHP new static 和 new self详解【图】

最近在一个视频的评论被问到一个小问题:这里选择用static 而不是self有特殊的考虑么?或者我们可以这样转换一下问题: PHP 的 new static 和 new self 具体有什么? 其实这个来看一个例子应该就很清晰了: class Father {public static function getSelf() {return new self();}public static function getStatic() {return new static();} }class Son extends Father {}echo get_class(Son::getSelf()); // Father echo get_class...

深入理解PHP中的static和yield关键字

前言 本文主要给大家介绍了关于PHP中static和yield关键字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 先来说说 static 关键字。本篇只讲静态方法的使用与后期绑定的知识点。 static 什么时候用来修饰方法static 关键字大家都知道是用来修饰方法与属性的。 那么大家在项目中会在哪些场景下使用它? 我遇到过几个项目,要求所有的方法全部 static 化,当然控制器方法不能这么干。原因之一就是:静...

详解php用static方法的原因

静态方法不需要所在类被实例化就可以直接使用。 静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。 静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。 static全局变量和普通全局变量,static局部变量和普通局部变量,static函数与普通函数的区别?下面本文将一一为你解答。  (1)全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量...

PHP中Static(静态)关键字功能与用法实例分析

本文实例讲述了PHP中Static(静态)关键字功能与用法。分享给大家供大家参考,具体如下: 1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。但在PHP中用 static 关键字来定义静态方法和属性, 也可用于定义静态变量以及后期静态绑定。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释...

php面向对象程序设计中self与static的区别分析

本文实例讲述了php面向对象程序设计中self与static的区别。分享给大家供大家参考,具体如下: 1、假设我们有个Car类,它有2个方法:model()和getModel()。 class Car{public function model(){//这里我们使用了关键字selfself::getModel();}protected function getModel(){echo I am car;} }实例化后调用方法: $car = new Car(); $car->model(); // 输出:I am car关键字self使得我们调用了Car类的getModel()方法,输出了文本“I ...

PHP面向对象程序设计中的self、static、parent关键字用法分析

本文实例讲述了PHP面向对象程序设计中的self、static、parent关键字用法.分享给大家供大家参考,具体如下: 看到php里面有关于后期静态绑定的内容,虽然没有完全看懂,但是也收获不少东西。 php官方手册介绍: http://php.com/manual/zh/language.oop5.late-static-bindings.php 不存在继承的时候 不存在继承的意思就是,就书写一个单独的类来使用的时候。self和static在范围解析操作符 (::) 的使用上,并无区别。 在静态函数中...

区别PHP中的const,static,public,private,protected【代码】

const: 定义常量,一般定义后不可改变static: 静态,类名可以访问public: 表示全局,类内部外部子类都可以访问;private: 表示私有的,只有本类内部可以使用;protected: 表示受保护的,只有本类或子类或父类中可以访问;定义常量也可用"define"定义。const与define在定义常量时会有如下区别:1. const用于类成员变量,一经定义不可修改,define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能。 2. const...

关于ThinkPhp view路径用到的常量 __STATIC__ __JS__ __CSS__等【代码】【图】

下面由thinkphp框架教程栏目给大家介绍ThinkPhp view路径用到的常量 __STATIC__ __JS__ __CSS__等,希望对需要的朋友有所帮助!ThinkPHP5.1 里面__PUBLIC__无法生效的问题在用PHP模板的时候需要引用外部的样式文件,之前的版本直接用__PUBLIC__就可以定位到指定的位置。<Link href="__PUBLIC__/static/css/main.css" rel="stylesheet" />但是页面中__PUBLIC__并没有解析成对应的路径。在查询TP5.1的文档时候,有这么一句话。“view...

浅谈PHP中new self()和new static()的区别

?本文介绍了PHP中new self()和new static()的区别,分享给大家,也给自己留个笔记。 1.new static()是在PHP5.3版本中引入的新特性。 2.无论是new static()还是new self(),都是new了一个新的对象。 3.这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢? 为了探究上面的问题,我们先上一段简单的代码: class Father {public function getNewFather() {return new self();}public fu...

PHP面向对象中new self()与 new static()的区别浅析

前言 本文主要跟大家介绍了关于PHP面向对象中new self()与 new static()的区别,这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢?下面话不多说了,来一起看看详细的介绍吧。 区别如下: 首先阐明结论,在PHP中 self指向定义了当前被调用方法的类, static指向调用当前静态方法的类。 接下来通过一个例子来证明上面的结果 class A {public static $_a = Class A;public stati...

php中static 静态变量和普通变量的区别

php中static 静态变量和普通变量的区别 在变量的前面加上static 就构成了静态变量(static 变量)。 static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的...

PHP中new static()与new self()的比较

今天在coding的时候,发现了 new static(),觉得实例化的地方不是应该是 new self()吗?查询了一下才知道两者的区别:1)在有子类集成的时候,两者的表现不一样2)php 5.2及以下的版本不支持 new static()的语法简单通俗的来说, self就是写在哪个类里面, 实际调用的就是这个类.所谓的后期静态绑定, static代表使用的这个类, 就是你在父类里写的static, 然后通过子类直接/间接用到了这个static, 这个static指的就是这个子类, 所以说...

php类中的$this,static,final,const,self这几个关键字使用方法

本篇文章主要分项了一下关于php类中的$this,static,final,const,self这几个关键字使用方法。$this$this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value=phpernote;的形式。常见用法如:$this->属性$this->方法举例如下:<?php class MyClass{private $name;public function __construct($name){$this->name=$name;}public function getname(){return $this->name;}public function printNam...

PHP中的静态变量及static静态变量使用详解

静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。 只要在变量前加上关键字static,该变量就成为静态变量了。 <?phpfunction test(){static $nm = ;$nm = $nm * ;print $nm."<br />";}// 第一次执行,$nm = test();// 第一次执行,$nm = test();// 第一次执行,$nm = test(); ?>程...

静态变量 - 相关标签