当前位置: 首页 > 面试题库 >

PHP静态函数

归松
2023-03-14
问题内容

我对php中的静态功能有疑问。

假设我有一堂课

class test {
    public function sayHi() {
        echo 'hi';
    }
}

如果我这样做的test::sayHi();话,没有问题。

class test {
    public static function sayHi() {
        echo 'hi';
    }
}

test::sayHi(); 也可以。

头等舱和二等舱有什么区别?

静态函数有什么特别之处?


问题答案:

在第一个类中,sayHi()实际上是一个实例方法,您将其作为静态方法进行调用,但由于sayHi()从未引用,所以您将其取消$this

静态函数与该类相关联,而不是该类的实例。因此,$this在静态上下文中不可用($this未指向任何对象)。



 类似资料:
  • 问题内容: 这些对象调用之间有什么区别? 非静态: 静态的: 而且在内部为什么还要对函数使用static属性? 例: 问题答案: 静态函数,根据定义,不能也不依赖于该类的任何实例属性。也就是说,它们不需要类的实例来执行(因此,可以如您所显示的那样执行,而无需先创建实例)。从某种意义上讲,这意味着该函数不必(也永远不需要)依赖于类的成员或方法(公共或私有)。

  • 我找不到和之间的任何区别。据我所知,类静态函数不能被继承,struct也没有继承的选项。 请不要被类中的静态函数和类函数所混淆。 VS

  • 问题内容: 在PHP 5中,使用和之间有什么区别? 什么时候合适?和什么样的作用呢,和游戏-如果有的话? 问题答案: 在类的上下文中,静态变量在类范围(而不是对象)范围内,但是与const不同,它们的值可以更改。 公共,受保护和私有与const无关(它们始终是公共的);它们仅对类变量(包括静态变量)有用。 可以通过ClassName :: $ variable在任何地方访问公共静态变量。 定义类或

  • PHP静态博客 docx 是PHP的文档工具daux.io的改进,除了汉化之外, 目前主要增加了metadata解析,可用来当静态博客使用。 快速使用 (docx添加) 下载最新的项目代码 docx,解压后在命令行下进入目录docx 如果操作系统是Linux/BSD/MacOS,设置index.php为可执行 chmod +x index.php 将web服务器的文档目录设置为docx,打开浏览器

  • 在类中,static 除了可以声明 静态成员变量,还可以声明静态成员函数。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。 编译器在编译一个普通成员函数时,会隐式地增加一个形参 this,并把当前对象的地址赋值给 this,所以普通成员函数只能在创建对象后通过对象来调用,因为它需要当前对象的地址。而静态成员函数可以通过类来直接调用,编译器不会为它增加形参 th

  • 本文向大家介绍C#静态构造函数?相关面试题,主要包含被问及C#静态构造函数?时的应答技巧和注意事项,需要的朋友参考一下 最先被执行的构造函数,且在一个类里只允许有一个无参的静态构造函数 执行顺序:静态变量>静态构造函数>实例变量>实例构造函数