搜索
首页php教程php手册php Static关键字实用方法

php Static关键字实用方法

Jun 06, 2016 pm 08:34 PM
static关键字

声明类成员或方法为static,就可以不实例化类而直接访问。不能通过一个对象来访问其中的静态成员(静态方法除外)。

为了兼容PHP4,如果没有指定“可见性”,属性和方法默认为public。

由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。
静态属性也可以由对象通过->操作符来访问。

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

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

PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。

代码如下:

<?php
class Foo
{
public static $my_static = &#39;foo&#39;;
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 = &#39;Foo&#39;;
print $classname::$my_static . "\n"; // PHP 5.3.0之后可以动态调用
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

PHP里边用Static关键字来定义静态属性和方法.

实例一:静态属性的引用方法

代码如下:

<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
function song(){
echo "My name is : ".self::$name."
";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."
";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."
";//类内部:通过self 类访问静态属性
}
}
echoperson::$name."
";//类外部:通过类名person访问静态属性
echoperson::$age."
";//类外部:通过类名person访问静态属性
echoperson::$address."
";//类外部:通过类名person访问静态属性
?>

实例二:静态方法的引用方法 

代码如下:

<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
staticfunction song(){ //声明静态方法song
echo "My name is : ".self::$name."
";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."
";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."
";//类内部:通过self 类访问静态属性
}
}
person::song()."";//类外部:通过类名person访问静态方法
?>

以上就是本章的全部内容,更多相关教程请访问php编程从入门到精通全套视频教程,相关手册请访问php在线手册

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境