PHP的静态方法与普通方法用法实例分析
本文实例讲述了PHP的静态方法与普通方法用法。分享给大家供大家参考,具体如下:
代码
<?php class TestClass { public $attributeone="one"; public function TestFunctionOne(){ echo "<br> testone"; } public static $attributetwo="two"; public static function TestFunctionTwo(){ echo "<br> testtwo"; } } $publicone=new TestClass(); // 非静态的属性 $attributeone=$publicone->attributeone; print_r($attributeone); // 非静态的方法 $publicone->TestFunctionOne(); // 静态不需要新建对象 直接可以使用类 // 静态的属性 $attributetwo=TestClass::$attributetwo; print_r('<br>'.$attributetwo); // 静态的方法 $attributetwo=TestClass::TestFunctionTwo();
对比
静态方法 :
1.从程序运行开始 就实例生成内存 ,所以可以直接调用,效率会高很多,但静态内存是有限制的,实例太多,程序会启动不了,2.静态内存会常驻 适用于多次频繁调用的
非静态方法:
1.实例方法开始生成内存,在调用时申请零散的内存,所以效率会慢很多 ,
2.非静态的用完就释放了 不会常驻
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php中类和对象:静态属性、静态方法
在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法.静态属性和静态方法不需要在类被实例化的情况下可以直接使用. 静态属性 与普通的成员属性不同,静态属性属于类本身而不属于类的任何实例.静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们. 由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性,使用语法格式如下: 类名称::$静态属性名称 其中,符号"::"被称作范围解析操作符,它可以用于访问静态成
-
PHP静态调用非静态方法的应用分析
静态调用非静态方法!!这在java,c#中是不可想象的,也是绝对不行的.这样的错误在这些语言中会在编译阶段就被指出错误的.但是对于php这样的动态语言呢?首先这个是语法没有错误的,php –l 找不出错误来的.如果运行呢?先看一个例子 复制代码 代码如下: <?php class myClass { private $name = "myClass"; public function echoName(){ echo $this->name;
-
浅谈PHP中静态方法和非静态方法的相互调用
在PHP的非静态方法中可以调用静态方法 class test{ public static function strPrint(){ echo 'this is strPrint static function<br>'; } public function staticFuncInvoke(){ self::strPrint(); } } $test = new test(); $test->staticFuncInvoke(); 上面的代码会输出: this is strPrint
-
浅析php静态方法与非静态方法的用法区别
在php编程中,static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法" 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性
-
详谈php静态方法及普通方法的区别
如下所示: <?php header('content-type:text/html;charset=utf-8'); /* 普通方法,存放类内,只有一份 静态方法,也是存放于类内,只有一份 区别在于:普通方法需要对象去调用,需要绑定$this 即,普通方法,必须要有对象,然后让对象来调用 而静态方法,不属于哪一个对象,因此不需要绑定$this 即,不需要对象也可以调用 */ class Human{ static public $head=1; public function easyeat(
-
PHP使用静态方法的几个注意事项
本文实例介绍了PHP使用静态方法的几个常见注意事项.分享给大家供大家参考.具体方法如下: 1. 即使类中的方法并未用static声明,但其未使用到可改变的类成员变量,在外部仍可用操作符::来调用: 2. 以静态方式(用::操作符)调用的方法中$this的取值是由调用时的上下文决定的!而不是定义他的类!! 例如以下的代码: <?php class TestClass1 { public $normal_v = 'normal_v from TestClass1'; public static $S
-
PHP实现伪静态方法汇总
PHP伪静态的使用主要是为了隐藏传递的参数名,下面给大家介绍php实现伪静态的方法,具体详情请看下文. 说起伪静态的实现方案,你是不是很爽快的回答"简单,配置下apache的重写规则就行了嘛" 但是你有没有发现这种情况,你最近弄了很多新功能,每天上几个新功能,每天都有好多伪静态配置,才开始两天运维同学还乐意配合,过两天运维同学就要骂了.你麻痹,脑残为什么不一次搞完,天天麻烦我.但是了,你要上线啊,不得不苦逼的求运维同学了,然后说出一句程序猿界最不要脸的话"这次最后一次改动了&
-
php之static静态属性与静态方法实例分析
本文实例讲述了php之static静态属性与静态方法.分享给大家供大家参考.具体如下: <?php /* * static */ /*静态:属于类而不属于单个对象 (全局的,所有对象共享的) *静态属性:类的方法内调用静态属性时,不要使用$this->方式,而要使用self::的方式 *静态方法: *在类没有任何对象的时候也能被调用 *当成普通方法来用也没问题的 *在静态方法中不能调用普通方法 * * */ class xin { static private $name; public fu
-
php面向对象中static静态属性和静态方法的调用
本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例: <?php header("content-type:text/html;charset=utf-8"); c
-
PHP静态方法和静态属性及常量属性的区别与介绍
PHP中若使用static关键字来修饰属性.方法,称这些属性.方法为静态属性.静态方法.static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法". 程序中为什么要使用静态方法和属性呢?它们有几个特性是比较有用的:不需要实例化类就可以访问静态方法和属性,在代码的任何地方都可以使用! <?php class Example{ static public $num = 0; static pu
-
php 静态属性和静态方法区别详解
静态 public.private.protected 静态属性 在属性或方法前加static关键字,即为静态属性 在实际工作中会有一个类的多个对象,可能会共享一份数据. 解决办法: 1:类常量,不能更改. 示例: 2:有时在共享一份数据后,还要所有的共享此数据的对象还允许更改. 所以就有static 语法: 示例: 提示:静态属性与类常量相似(相同),唯一的区分是类常量不可以更改,静态属性可以更改.访问方法是一样的. :: 只能访问类常量.静态属性.静态方法 静态属性需要加$,常
随机推荐
- 详解Redis中的双链表结构
- nginx proxy_pass反向代理配置中url后加不加/的区别介绍
- Java Map简介_动力节点Java学院整理
- iOS自定义UIScrollView的滚动条实例代码
- 用javascript实现的汉字简繁转换
- bootstrap基础知识学习笔记
- Http 1.1 Etag 与 Last-Modified提高php效率
- android 引导界面的实现方法
- php接口技术实例详解
- jquery form 加载数据示例
- 神奇的7个jQuery 3D插件整理
- JS验证input输入框(字母,数字,符号,中文)
- javascript中的void运算符语法及使用介绍
- 聊一聊C#接口问题 新手速来围观
- nodejs动态创建二维码的方法
- Android编程实现对话框形式进度条功能示例
- Django中使用locals()函数的技巧
- Android模拟登录评论CSDN实现代码
- c# 网址压缩简单实现短网址
- 易语言更改编辑框中文字颜色的方法