php 静态属性和静态方法区别详解


Posted in PHP onApril 09, 2017

静态

public、private、protected

静态属性

    在属性或方法前加static关键字,即为静态属性

    在实际工作中会有一个类的多个对象,可能会共享一份数据。

解决办法:

1:类常量,不能更改。

示例:

php 静态属性和静态方法区别详解

2:有时在共享一份数据后,还要所有的共享此数据的对象还允许更改。

所以就有static

语法:

php 静态属性和静态方法区别详解

示例:

php 静态属性和静态方法区别详解

提示:静态属性与类常量相似(相同),唯一的区分是类常量不可以更改,静态属性可以更改。访问方法是一样的。

::        只能访问类常量、静态属性、静态方法

    静态属性需要加$,常量名前没有$,所以访问类常量时根本不需要加。

->        后面不需要加$

静态方法

方法前加static,即为静态方法

php 静态属性和静态方法区别详解

静态成员的访问:静态属性的访问

公共静态属性在类外访问:

语法:

    类名::静态属性名

php 静态属性和静态方法区别详解

类内访问所有的静态属性

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

静态方法的访问

类外访问

语法:

    静态方法,存在类空间。

类名::方法名();        

php 静态属性和静态方法区别详解

类内访问:

语法:

    self::方法名();

php 静态属性和静态方法区别详解

静态与非静态的区别:

静态属性保存在类空间,非静态属性保存在对象空间
静态属性的访问,通过类访问(::),非静态属性的访问通过对象(->)
静态方法的访问,通过类访问(::),
如果一个方法内部不操作属于对象空间的属性,那么将封装成静态方法,通过类来调用,此种方法效率会快很多。
静态方法中不能出现$this

*******

重要提示:属于类的使用类名或self::,如果属于对象的使用对象名或$this->。(普通方法除外==>虽然普通方法属于类空间,但还是需要使用$this或对象名访问)

魔术方法

php输出语句:

echo        一种语法结构

    只能输出标量数据类型,对于布尔值false没有输出

print        函数

    只能输出标量数据类型,对于布尔值false没有输出

print_r()    不但能输出标量数据类型,还能输出数据,对于布尔值false没有输出

var_dump($v1,$v2);        输出变量更多的信息,主要是给程序员调试程序使用

__tostring();

    在对一个对象进行echo时,意味着,将一个结构,转换成字符串。

    __tostring()魔术方法,是在由于某种操作欲将一个对象转换为字符串时,由PHP自动执行机制,来调用此方法。

    此方法就是为了捕获错误(Fatal Erorr 致命错误),输出一个提示信息

示例:

php 静态属性和静态方法区别详解

__clone();

    clone();        克隆函数

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

PHP 相关文章推荐
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
PHP代码优化技巧小结
Sep 29 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 PHP
php中类和对象:静态属性、静态方法
Apr 09 #PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 #PHP
PHP对象相关知识总结
Apr 09 #PHP
YII2框架中使用yii.js实现的post请求
Apr 09 #PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 #PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 #PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 #PHP
You might like
php的dl函数用法实例
2014/11/06 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python3.x实现base64加密和解密
2019/03/28 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
医院总经理职责
2013/12/26 职场文书
我的老师教学反思
2014/05/01 职场文书
公民授权委托书
2014/10/15 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2014年生产部工作总结
2014/12/17 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
教你用python控制安卓手机
2021/05/13 Python