PHP中级面试题(真实职场版+详细答案).docxVIP

  • 2
  • 0
  • 约5.43千字
  • 约 8页
  • 2026-07-03 发布于河北
  • 举报

PHP中级面试题(真实职场版+详细答案).docx

PHP中级面试题(真实职场版+详细答案)

一、PHP核心基础进阶(中级高频)

1、PHP中static、self、parent的区别?实际工作怎么用?

详细答案:

这三个都是面向对象常用关键字,核心区别在静态绑定时机和指向对象,也是中级面试必问的坑点:

1)self:指向当前定义代码的类,属于静态绑定,程序编译阶段就确定了指向,不会被子类重写改变。只能调用本类的静态属性、静态方法、常量,不能访问普通属性。

2)static:有两个用法,一是定义静态属性/方法,二是后期静态绑定。作为绑定关键字时,指向当前运行的类,是动态绑定,运行时才确定,子类重写后会自动指向子类,实际项目做多态、静态方法重写必用。

3)parent:指向父类,专门用来调用父类的构造方法、静态方法、普通方法,解决子类重写父类方法后,需要保留父类原有逻辑的场景。

实战场景:写公共模型基类时,用static做后期静态绑定,让子类直接复用基类的查询方法;用parent::__construct()调用父类构造,避免覆盖父类初始化逻辑;self一般用于固定的本类常量、固定静态方法调用。

2、PHP传值和传引用的区别?什么场景必须用引用?

详细答案:

默认情况下,PHP变量赋值、函数传参都是传值,会拷贝一份变量副本,修改新变量不会影响原变量,开销小、安全,是最常用的方式。

传引用需要加符号,相当于给原变量起别名,新旧

文档评论(0)

1亿VIP精品文档

相关文档