PHP static静态变量方法如何使用 PHP static静态变量方法实例代码
- 2022年12月8日
- 880 次
在之前学习了PHP的类中如何使用public、protected、private来实现对类数据的隐藏,那么在类中我们还可以设置类的成员属性为静态变量和静态方法,那么在PHP中static静态变量、静态方法如何使用呢?下面本文将对PHP中类的静态变量、静态方法的使用进行记载。
PHP类中如何定义静态变量和方法
PHP类中定义静态变量和方法和定义公共成员变量、私有成员变量及受保护的成员变量的方法是一样的,不一样的是定义静态变量和方法的时候,我们需要使用static关键字来定义。
PHP中如何调用类中的静态变量和方法
在《PHP中$this和::的如何使用?PHP中$this和::是什么意思?》一文中,当时记载的有::作用域符号的使用,我们如果要调用静态变量和方法就需要使用到::作用域符号。self::变量名:就是调用的类本身内的静态变量;self::方法名():就是调用的类本身的成员方法。当然我们还可以使用parent::来实现子类调用父类的静态成员变量,下面我们来看看在PHP的子类中如何调用父类的静态变量。
PHP子类如何调用父类的静态变量
在上面我们提到了在子类中使用parent::来实现调用父类中的静态变量,确实是可以调用出来,但是只能放在子类的成员方法当中使用。如果我们直接在子类中使用echo输出,或者是将父类的静态变量赋值给一个变量,在我们使用的编辑中就会直接报错,如下图所示我使用if…else和isset()函数对parent::静态变量名进行判断直接报错了,直接提示syntax error语法错误。
PHP类中static静态变量、方法实例代码
<?php
//定义类myclass
class myclass{
//定义一个webname静态变量;
static $webname = '李涛自留地';
//定义一个weburl静态变量;
static $weburl = 'www.leetao.cc';
//定义一个my_info的静态方法;
static function my_info(){
echo '我的网站名称是:'.self::$webname.'<br>';
echo '我的网站域名是:'.self::$weburl;
}
}
class test_myclass extends myclass{
function test_static (){
echo parent::$webname;
}
}
//输出静态变量webname;
echo myclass::$webname;
echo '<hr>';
//输出静态方法my_info
echo myclass::my_info();
//实例化子类test_myclass
$test = new test_myclass;
echo '<hr>';
echo '以下输出的是子类中调用父类的静态变量:<br>';
echo $test->test_static();
?>
<?php
//定义类myclass
class myclass{
//定义一个webname静态变量;
static $webname = '李涛自留地';
//定义一个weburl静态变量;
static $weburl = 'www.leetao.cc';
//定义一个my_info的静态方法;
static function my_info(){
echo '我的网站名称是:'.self::$webname.'<br>';
echo '我的网站域名是:'.self::$weburl;
}
}
class test_myclass extends myclass{
function test_static (){
echo parent::$webname;
}
}
//输出静态变量webname;
echo myclass::$webname;
echo '<hr>';
//输出静态方法my_info
echo myclass::my_info();
//实例化子类test_myclass
$test = new test_myclass;
echo '<hr>';
echo '以下输出的是子类中调用父类的静态变量:<br>';
echo $test->test_static();
?>通过以上从PHP类中如何定义静态变量和方法、PHP中如何调用类中的静态变量和方法、PHP子类如何调用父类的静态变量及PHP类中static静态变量、方法实例代码这四大方面的记载,基本上明白了如何定义类的静态变量及如何调用。后面笔者将继续记载更多关于PHP面向对象的学习笔记。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- PHP array_merge_recursive() 和 array_replace() 详解:数组合并与替换 2026-07-02
- 服务器内存不足OOM killed进程?排查服务器内存不足优化实战 2026-07-02
- PHP数组类型有哪些?PHP数组类型实例代码 2022-10-22
- PHP array_filter() 函数详解:按条件过滤数组元素 2026-07-02
- PHP判断数据类型的方法有哪些?PHP如何判断数据类型? 2022-06-09
- ZblogPhp主题幻灯片轮播制作教程 ZblogPhp主题幻灯片制作插件版 2022-10-12
