php static方法的作用是什么,php static方法指的是什么

php static方法指的是用php中static关键字来定义静态方法和属性,static也可用于定义静态变量以及后期静态绑定,其使用语法如“public static $my_static = 'foo';”。

ee421513edad440451b10faa4c4faebd.png

推荐:《PHP教程》

Static(静态)关键字

本页说明了用 static 关键字来定义静态方法和属性。static 也可用于定义静态变量以及后期静态绑定。

声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

为了兼容 PHP 4,如果没有指定访问控制,属性和方法默认为公有。

由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。

静态属性不可以由对象通过 -> 操作符来访问。

用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误。

就像其它所有的 PHP 静态变量一样,静态属性只能被初始化为文字或常量,不能使用表达式。所以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象。

自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字 self,parent 或 static。

Example #1 静态属性示例<?php

class Foo

{

public static $my_static = 'foo';

public function staticValue() {

return self::$my_static;

}

}

class Bar extends Foo

{

public function fooStatic() {

return parent::$my_static;

}

}

print Foo::$my_static . "\n";

$foo = new Foo();

print $foo->staticValue() . "\n";

print $foo->my_static . "\n"; // Undefined "Property" my_static

print $foo::$my_static . "\n";

$classname = 'Foo';

print $classname::$my_static . "\n"; // As of PHP 5.3.0

print Bar::$my_static . "\n";

$bar = new Bar();

print $bar->fooStatic() . "\n";

?>

静态方法示例

class Foo {

public static function aStaticMethod() {

// ...

}

}

Foo::aStaticMethod();

$classname = 'Foo';

$classname::aStaticMethod(); // 自 PHP 5.3.0 起

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

您好您拨打电话已停机_您好GroovyFX

您好您拨打电话已停机GroovyFX汇集了我最喜欢的两件事&#xff1a; Groovy和JavaFX 。 GroovyFX项目主页面将GroovyFX描述为“ [为JavaFX 2.0提供Groovy绑定”。 该页面上进一步描述了GroovyFX&#xff1a; GroovyFX是一种API&#xff0c;它使在Groovy中使用JavaFX变得更加简…

js中写java集合代码,JS实现JAVA的List功能

本次的文章给大家分享了关于JS实现JAVA的List功能的代码&#xff0c;有兴趣的朋友可以看一下function List(){var list new Array();/* 添加元素 */this.add function(obj){list[list.length] obj;}/* 根据下标获得元素 */this.get function(index){return list[index];}/*…

NOIP模拟测试6「那一天我们许下约定(背包dp)·那一天她离我而去」

那一天我们许下约定 内部题&#xff0c;题干不粘了。 $30分算法$ 首先看数据范围&#xff0c;可以写出来一个普通dp #include<bits/stdc.h> #define ll int #define A 2100 #define mod 998244353 using namespace std; ll f[1501][AAA],n,d,m; int main() {scanf("…

使用TestContainers提高测试性能

在我以前的测试文章中&#xff0c;我描述了如何使用TestContainers为数据库测试提供现实的测试环境。 此评论显示了缺点&#xff1a; …如上所述&#xff0c;似乎总是有一些缺点。 在这种情况下&#xff0c;启动Docker映像及其包含的所有内容的开销将增加您的总体构建时间。 提…

mysql 横向排列,mysql横向转纵向、纵向转横向排列的方法

初始化数据DROP TABLE IF EXISTS test_01;CREATE TABLE test_01 (id int(0) NOT NULL,user varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 用户,km varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT …

VS2010常用快捷键自定义

VS的快捷键确实很多&#xff0c;不过对我来说实用的几个&#xff0c;要用的时候实在是按得别扭。所以重新设置了某些快捷键。 设置方法如下&#xff1a; 1.进入工具-选项 对话框 2.选择【环境】-【键盘】 3.在 【显示命令包含】 下面的对话框中输入你想重新定义快捷键的中文名&…

matlab光学毕业论文,光学信息处理实验的Matlab仿真.doc

摘要&#xff1a;光学实验系统往往比较精密和复杂&#xff0c;理论课堂教学中加入相关实验的演示往往比较费时&#xff0c;而且也不一定能得到正确的实验结果。随着计算机技术的发展&#xff0c;强大的运算性能和图形处理能力可以很好的解决这个问题&#xff0c;满足课堂教学中…

JavaScript方法——call和apply

1、相同点: a&#xff09; 产生的效果或作用完全相同&#xff1b; b&#xff09; 至少有一个参数&#xff1b; c&#xff09; 第一个参数必须有且是一个对象&#xff08;Object&#xff09;&#xff0c;因为就是这个家伙偷懒。 2、不同点: 传递参数的方式。 前提: 1、有两个对象…

阿帕奇跨域_阿帕奇骆驼备忘单

阿帕奇跨域轮询一个空目录&#xff08;并发送一个空消息&#xff0c;正文为空&#xff09;&#xff1a; from(file://temp?sendEmptyMessageWhenIdletrue)停止路线&#xff1a; .process(new Processor() {public void process(Exchange exchange) throws Exception {getConte…

天空之城 matlab,[转载]matlab演奏《天空之城》代码

%matlab演奏《天空之城》代码l_dao262; %将“l_dao”宏定义为低音“1”的频率262Hzl_re286; %将“l_re”宏定义为低音“2”的频率286Hzl_mi311; %将“l_mi”宏定义为低音“3”的频率311Hzl_fa349; %将“l_fa”宏定义为低音“4”的频率349Hzl_sao392; %将“l_sao”宏定义为低音“…

7.0上的新KIE持久性API

这篇文章介绍了即将到来的Drools和jBPM持久性api。 创建持久性api&#xff08;不绑定到JPA&#xff09;的动机是因为Drools和jBPM中的持久性直到7.0.0发行版才允许将替代性持久性机制与JPA完全集成。 尽管JPA是一个出色的api&#xff0c;但它与传统RDBMS模型紧密地结合在一起&a…

从客户的角度看网站涉及的第一要素

最近给某企业做了一个内部网站&#xff0c;界面风格、内容都是按照客户的要求进行了开发&#xff0c;测试阶段客户比较满意。投入试运行后&#xff0c;客户的领导级人物看了一眼首页中图片的大小&#xff08;600K&#xff09;&#xff0c;马上对我们的软件开发水平进行贬低。因…

linux ssl PHP,Linux环境安装Apache与PHP,支持SSL

1、Apache在如下页面下载apache的for Linux 的源码包http://www.apache.org/dist/httpd/;存至/home/xx目录&#xff0c;xx是自建文件夹&#xff0c;我建了一个wj的文件夹。命令列表&#xff1a;cd /home/wjtar -zxvf httpd-2.0.54.tar.gzmv httpd-2.0.54 apachecd apache./conf…

JBUILDER 2006怎么配置 STRUTS?[

建web工程时引入struts框架&#xff0c;选版本就可以了。jbuilder2006中有一个struts的可视化操作界面天极网有详细的图文资料,搜以下就可以找到关注首先新建项目然后选择Web选项,双击Web Module(WAR)创建一个Module&#xff0c;我感觉这个Web Module就相当于虚拟目录。然后可以…

dos命令查看oracle_home,Oracle - OraDb10g_home1配置方法+DOS命令

实验一(时间&#xff1a;2012.3.6)1实验项目名称&#xff1a;ORACLE 10G的安装、运行与配置2实验内容&#xff1a;a.检查ORACLE 10G安装的软硬件环境&#xff0c;安装服务器端软件和客户端软件&#xff1b;b.查看安装后的结果&#xff1b;c.启动与关闭监听服务、实例服务等&…

jhsdb:JDK 9的新工具

我喜欢在分析性能和其他基于Java的应用程序的其他问题的早期步骤中使用JDK随附的命令行工具&#xff0c;并在诸如jcmd &#xff0c; jps &#xff0c; jstat &#xff0c; jinfo &#xff0c; jhat和jmap &#xff0c; jrunscript &#xff0c; jstack之类的 工具上进行 博客撰…

purfer序列

prufer序列求法 对于一个无根无向图我们可以应用prufer序列操作使它缩成一个序列。 具体操作 一&#xff0c;每次选出来树中编号最小的点且度数为一&#xff08;即叶子节点&#xff09; 二&#xff0c;将与被删去的点相连的节点加入prufer序列中 重复一&#xff0c;二&#xff…

oracle11g高可用,oracle11g 搭建DG环境总结

本帖最后由 zhofly 于 2016-6-24 23:19 编辑测试环境为&#xff1a;两台服务器配置一样&#xff1a;Oracle Linux Server release 6.5 X86_64, DB 11.2.0.4.0前提环境&#xff1a;一台已经安装好数据库软件并创建数据库实例的服务器另一台也就是备库&#xff0c;只安装了数据…

树的计数(prufer序列 或 purfer序列)

题解 首先我们要知道一条性质&#xff0c;prufer序列中的某个点出现次数为该点在树中度数-1 感性理解一下&#xff0c;其实按照prufer序列求法自己推一下就出来了 设题目里给的度为$d[]$ 先将所有的d-- 然后按照排列组合得出来 这是多重集排列数 首先从n-2中选择d[1]个数是$C_{…

PHP 织梦 帝国那个好,帝国、PHPCMS及织梦对比(十):推荐位功能

网站中发布的文章除了需要按时间、栏目分类、类别调用外&#xff0c;往往需要根据编辑的推荐进行不同的调用&#xff0c;那么CMS自然少不了推荐位功能。一般推荐位的设计都有首页头条、首页幻灯焦点、首页推荐、栏目页推荐、列表页推荐、内容页推荐等&#xff0c;基本可以满足站…