导航:首页 > 编程语言 > php静态对象调用

php静态对象调用

发布时间:2023-06-02 13:09:56

php面向对象 静态属性为什么能用对象访问

Static关键字

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

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

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

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

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

--------以上为php手册 原文

❷ php中怎么调用方法中的静态变量

看看下面的实例:
<?php
function Test()
{
$w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>

本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。
要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的:
如下:
<?php
function Test()
{
static $w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>

❸ PHP 静态方法怎么调用父类非静态方法

子类的静态方法里面实例化父类,然后调用父类的非静态方法。
因为子类的静态方法调用父类的方法需要使用parent::函数名()或有可能是self::函数名(),子类的静态方法使用parent::函数名()或有可能是self::函数名()时这个函数名()必须是父类里面的一个静态方法,如果不是静态方法,会报错Strict Standards: Non-static method parentClass::b() should not be called statically,但是还是会有正确结果哟

❹ php中静态成员如何使用

当前类中使用self::或者static::调用静态成员,静态方法中只能调用静态成员,外部直接使用类名::静态成员调用

❺ php中怎么调用方法中的静态变量

static
变量是php中的变量作用范围的一个重要特性
静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果
一个普通的变量,如
$message
在它所在的函数执行完之后就被释放了
即第二个function执行10次,每次执行完后,$message变量被释放,所以每次都是1
变量前加了static后,该变量在它所在的函数执行完后不会被释放
即第一个function每次被执行后,static
$message没有被释放,它将被继续累加

❻ php父类如何调用子类的静态方法或变量

<?php
classA{
staticpublic$m=1;
staticpublicfunctionm(){
echostatic::$m,'<br/>';
}
staticpublicfunctionn(){
static::n();
}
}
classBextendsA{
staticpublic$m=111;
staticpublicfunctionm(){
parent::m();
}
staticpublicfunctionn(){
echoparent::$m,'<br/>';
}
}
B::m();
B::n();

❼ php 静态方法为什么不能调用this

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。
2. 静态变量的调用方法:只能使用slef:: 或者 类名:: 访问,不能使用$this访问;反之,类的成员变量未声明为const及static时,只能使用$this访问,不能用::访问。

❽ php中static静态类与static 静态变量用法区别

static 是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了。
1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。
2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件:
A. 如果是变量,需要该变量可访问。
B. 如果是方法,除了该方法可访问外,还需要满足:
b1) 如果是静态方法,没有特殊条件;
b2) 如果是非静态方法,需要改方法中没有使用$this,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。
然后我们再看一下使用$object->… 和使用class::… 都有什么区别:
1. 使用$object->… ,需要执行构造函数创建对象;
2. 使用class::… 调用静态方法/变量,不需要执行构造函数创建对象;
3. 使用class::… 调用非静态方法/变量,也不需要执行构造函数创建对象。
然后奇怪的地方就出来了,既然2和3都一样,那静态方法/变量存在还有什么意义呢?
静态 static
声明类成员或方法为 static ,就可以不实例化类而直接访问,不能通过一个对象来访问其中的静态成员(静态方法除外)。静态成员属于类,不属于任何对象实例,但类的对象实例都能共享。

阅读全文

与php静态对象调用相关的资料

热点内容
西门子编程试题 浏览:81
android转动360 浏览:333
服务器为什么要重装系统 浏览:437
华为尝鲜怎么还是原来的安卓系统 浏览:594
女主是警察的小说 浏览:792
魔兽宏命令是什么 浏览:250
《法国空姐》啄木鸟种子 浏览:95
超清播放网站 浏览:39
索尼传送app为什么华为用不了 浏览:225
linux命令at 浏览:221
阿里程序员厉害 浏览:195
iappqq飞车美化源码 浏览:389
51单片机跑马灯c程序 浏览:930
adm压缩及解压代码 浏览:853
xp如何制作打印机服务器 浏览:24
张天佑小说蛇 浏览:23
安卓手机如何解压001文件 浏览:150
nx编程考证有什么要求 浏览:524
百度云资源线免费播放网站 浏览:829
啄木鸟最好看的一部 浏览:660