PHP:通过 ClassName::method 语法调用实例方法,会导致静态调用吗?

2023-12-11

她是我的代码:

class MyClass 
{
   public $prop;
   public function method ()
   {
     echo $this->prop;
   }
}

然后在代码中的某个地方,意外地:

MyClass::method();

我预计上面的行会出现解释错误,因为被调用的方法不是静态的。相反,该方法被调用,并且我收到了有关 $prop 不存在的异常。所以我知道该方法被称为静态方法,即使它不是。

是这样的吗? (到底为什么?)


静态调用非静态方法会生成 E_STRICT 级别警告。

http://php.net/manual/en/language.oop5.static.php

我想你已经抑制了 E_STRICT 警告。它可以工作(可能是由于遗留原因),但不推荐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:通过 ClassName::method 语法调用实例方法,会导致静态调用吗? 的相关文章

随机推荐

  • 关于国家/地区更改 Ajax 更新 Woocommerce 中运输的结帐

    我正在寻找一种当客户在结帐页面上更改国家 地区时更新订单审核 运费 的方法 我想使用 jQuery 但wc checkout paramswc checkout params 已弃用 function custom checkbox che
  • 为 Qt5 指定 OpenGL 桌面而不是 ES

    我终于尝试使用着色器来理解着色器tutorial我发现 我决定从 Qt5 Windows 开始 因为我熟悉它并且可以专注于学习 GLSL 本身 我正在做的事情和教程之间的唯一区别是我正在使用QOpenGLWidget而不是一个QOpenGL
  • HttpResponse.getEntity() NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 可能的重复 网络主线程异常 很长一段时间以来 我一直在使用通用代码来执行 http 请求AsyncTask The AsyncTask返回一个HttpResponse目的 一切都运行良好 GUI 线程从未冻结或出
  • ecs-cli 使用负载均衡器组成服务

    我正在尝试使用 ecs cli compose 来管理 Amazon ECS 上的服务和任务 我无法找到使用的方法service up命令使用应用程序负载均衡器创建新服务 即使该负载均衡器已存在 这似乎可以与service create 但
  • Windows Phone - Phonegap 推送通知 - 注册我的设备后无法获取 URI

    我在用推送插件在我的 wp8 的 cordova phonegap 应用程序中 我自动安装了插件 cordova plugin add https github com phonegap build PushPlugin git 当我的设备
  • 将 typeahead.js 输出到多个文本框中

    我正在为我的公司开发一个内部 Web 表单 我试图使用 typehead js 从本地数组加载名称 我能够毫无问题地执行此操作 但是任务的第二部分是当在第一个文本框中选择员工姓名时 将该员工的 ID 放入第二个文本框中 我无法成功地将值输出
  • jQuery 存储和检索表单状态(带数据)

    有什么方法可以将表单状态存储在例如 cookie 中并检索它吗 我检查了序列化API但我不知道如何检索表单上的序列化数据 是否可以 Update 我把我的代码here 检查 End of cookie 插件后的 javascript 代码
  • 解决“找不到资源”的问题。错误

    我有一个 MVC 3 应用程序 其中内置了几个区域 其中一个区域是我网站的管理部分 一切都工作得很好 我想尝试 MvcContrib Portable Areas 以使我的应用程序更加模块化 因此我安装了 MvcContrib 经过一番尝试
  • 实体框架 4 / POCO - 从哪里开始? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我已经编程了一段时间 并且之前使用过 LINQ To SQL 和 LINQ To Entities 尽管在使用实体时它一直处于实体 表 1 1 关系上 即与 L2SQL 没有太大区别
  • Pebble 手表开发教程中的这个点语法是什么意思? [复制]

    这个问题在这里已经有答案了 我在 Pebble 手表应用程序开发教程中遇到了以下代码 Set handlers to manage the elements inside the Window window set window handl
  • 我可以检测窗口是否部分隐藏吗?

    是否可以检测我的外部程序的窗口是否 1 完全可见 2 部分隐藏或 3 完全隐藏 如果窗口 基于检索到的句柄 不可见 我希望能够告诉我的应用程序不要执行任何操作 我不关心窗口是否有焦点 z 顺序是什么 或者其他什么 我只关心窗口显示了多少 如
  • 使用 Amazon API MWS 进行签名查询

    我正在尝试向卖家亚马逊网络服务 MWS 提出签名请求 我正在使用这里的脚本 将亚马逊 MWS 暂存器查询转换为 API 调用 但我不知道为什么会出现错误 我们计算的请求签名与您提供的签名不匹配 请检查您的 AWS 秘密访问密钥和签名方法 有
  • 在运行时实现接口

    是否可以使已编译的类在运行时实现某个接口 例如 public interface ISomeInterface void SomeMethod public class MyClass this is the class which i w
  • pySerial write() 在 Python 解释器中工作正常,但在 Python 脚本中不行

    最近 我正在尝试在Arduino上进行某种 灯光控制 我使用 Raspberry Pi 通过串口 USB 电缆 发送控制消息 这是 Arduino 代码 int redled 12 int whiteled 48 void setup Se
  • R - 如果日期在范围内,则求和

    我已经设法在 excel 中轻松完成此操作 但想在 R 中完成此操作 我有两个数据框 MediaPlanDF 215 个 obs 29 个 var 我只关心其中的 4 个变量 开始日期 航班日期 结束日期 航班日期 每日消费 每日展示次数
  • 如何修复 Findbugs HTTP 参数直接写入 HTTP 标头输出

    我有一个类 RequestFilter 和 Override 方法 doFilterInternal 当我添加响应标头时 findbugs 显示直接写入 HTTP 标头输出的错误 HTTP 参数 那么我该如何解决这个问题呢 谢谢大家 Str
  • sql 如何将两个表的三个查询合并为一个查询

    我有以下两个表 Table1 id name A3 B2 A3 B400 A5 B100 A7 B200 A8 B6 A8 B2 A8 B3 and Table2 id name company A1 company1 A2 company
  • Jquery基于滚动翻译元素

    我正在尝试重现发现的效果这一页 所以我们的想法是 当用户滚动时 选项卡就会显示出来 我对此的看法是使用 jquery 沿着滚动条翻译它们 我的问题是 我给了他们特定的滚动区域 在此期间它们将被翻译 但如果滚动 跳 出该区域 它们将保持在原来
  • 如何在 iOS 7 的 UIAlertView 中添加子视图?

    我在 iTunes 商店中有一个应用程序 它显示一些UILabel and UIWebView on UIAlertView 根据会议视频显示 addSubView for UIAlertView不管用 他们谈论过ContentView 但
  • PHP:通过 ClassName::method 语法调用实例方法,会导致静态调用吗?

    她是我的代码 class MyClass public prop public function method echo this gt prop 然后在代码中的某个地方 意外地 MyClass method 我预计上面的行会出现解释错误