可以在 PHP 中测试变量是否是静态的吗?

2024-03-15

PHP 中是否可以测试变量是否是静态的?我正在尝试创建一个神奇的方法__get它还查看静态变量。我发现property_exists()当变量也是静态时返回 true。但我需要使用::代替->我会期待吗?


可以通过反射测试变量是否是静态的:

class Foo { static $bar; }
$prop = new ReflectionProperty('Foo', 'bar');
var_dump($prop->isStatic()); // TRUE

然而,这仍然不允许你用魔法方法使用它们__get or __set,因为它们仅在对象上下文中起作用。来自 PHP 魔法方法手册: https://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

属性重载仅适用于对象上下文。这些魔术方法不会在静态上下文中被触发。因此,这些方法不应声明为静态。从 PHP 5.3.0 开始,如果其中一种神奇重载方法被声明为静态,则会发出警告。

另请参阅 PHP 内部邮件列表上有关引入的讨论__getStatic:

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

可以在 PHP 中测试变量是否是静态的吗? 的相关文章

  • 合并 url 中的 2 个输入值

    我有这样的形式
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1
  • 将 OAuth WRAP 访问令牌直接保存在客户端计算机上的 cookie 中吗?

    我计划建立一个可以访问 oauth 包装框架的网站 我正在考虑将访问令牌按原样存储在客户端计算机上 我不想在服务器上维护临时令牌等数据库 我应该做吗 或者我应该加密它 首先 为什么他们不使用 OAuth 2 0 您可以将 OAuth 凭据存
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • 在laravel中组合两个不同的无关系数据库表查询进行分页

    我的数据库中有两个不相关的表 我需要将它们合并 以便我可以将其放在我的搜索视图中 但我不知道是否可能 这是我的代码 这news and season表不相关 但它们具有相似的列 我试图将其放入一个对象中以便于分页 是否可以 search r
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • php基于onclick函数输入日期类型

    用户选择日期 月份和年份 然后按一个按钮 根据他选择的日期向他显示数据库的值 不知道代码问题出在哪里
  • PHP - 警告:strpos() [function.strpos]: 空分隔符是什么意思?

    警告 strpos function strpos 空分隔符是什么意思 我有这个 if strpos 039 text false text str replace 039 text 猜测一下 我会说 text是一个空字符串 感谢马克指出细
  • Ajax文件上传

    我想使用 Ajax 和 php 上传文件 我有一个表格
  • PHP DOM - 剥离 span 标签,保留其内容

    我希望采用如下标记 span class test Some text that is strong bolded strong and contains a a href link a span 并在 PHP 中找到剥离跨度的最佳方法 剩
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • 当我使用 session_start() 时,Xampp 7.0.1 Apache 崩溃

    当我在 PHP 中使用 session start 启动会话时 我的 Apache 服务器停止工作 我正在使用 Windows 版 Xampp 7 0 1 我的配置文件如下所示 即使我把它放在文件的第一行 它也不起作用 有人知道如何解决这个
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • PHP LDAP 查询获取特定安全组的成员

    我正在努力让 LDAP 查询工作来为我提供安全组的成员 我们的活动目录结构设置为 DC domain DC co dc uk然后 我们有一个名为 公司用户 的 OU 其中有一个用于 IT 和标准的 OU 在这些中我们创建了用户 所以我被设置
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia

随机推荐

  • 如何在 Rails 的功能测试中启用页面缓存?

    是否可以打开页面缓存进行功能测试 以下内容不起作用 class ArticlesControllerTest lt ActionController TestCase def setup ActionController Base publ
  • 是否可以获取对象的不可枚举继承属性名称?

    在 JavaScript 中 我们有几种获取对象属性的方法 具体取决于我们想要获取的内容 1 Object keys 它返回对象的所有自己的可枚举属性 即 ECMA5 方法 2 a for in循环 返回对象的所有可枚举属性 无论它们是自己
  • 你如何理解一大块代码?

    我是一名刚刚开始工作的应届大学毕业生 在我的起步阶段 我需要学习很多产品代码 有一些设计文档 但没有多大帮助 您能否提供一些通用技术来浏览和理解庞大的产品代码 特别是 C 运行它doxygen http www doxygen nl 这将生
  • StreamBuilder 子更新在导航后不呈现

    我正在使用扑动StreamBuilder决定向用户显示哪个 根 页面 现在基本上有2种可能性 LoginPage or HomePage 我的应用程序的主要构建方法如下所示 Widget build BuildContext context
  • 在没有 root 权限的 Linux 上安装 gcc

    我可以使用公共图书馆中的计算机 并且我想尝试一些 C 以及其他代码 问题是没有安装 g 并且我无法使用包安装它 因为我没有 root 访问权限 是否有一种 智能 方法可以在主文件夹中创建完整的编程环境 我安装了gcc 我可以编译C代码 另外
  • 错误:yarn start - 错误命令“start”未找到

    我正在尝试学习 React 并且我正在使用一个私人存储库来开始它 I run yarn start在存储库的目录中 但我收到错误消息 yarn run v1 13 0 error Command start not found info V
  • 简单对话框中的 Stackoverflow 异常

    您好 我在这两个对话框中收到 Stackoverflow 异常 Dialog A正在从主对话框类中调用 对话框A有一个选择去Dialog A child and Dialog A child有选择回去Dialog A 但它遇到了 Stack
  • 如何使用Javascript触发CSS“悬停状态”? [复制]

    这个问题在这里已经有答案了 当用户将鼠标悬停在元素上时 CSS 悬停状态 将触发 我们如何使用 Javascript 将元素设置为 悬停状态 是否可以 如果您可以接受使用 focus您可以使用以下命令来代替悬停 var links docu
  • 如何根据条件应用Spring消息转换器?

    我有一个控制器 其响应是驼峰式 json 值 现在我们正在用新版本重写代码 所需的响应位于snake case中 我添加了一个消息转换器并修改了对象映射器来设置setPropertyNamingStrategy PropertyNaming
  • 有没有集成CouchDb和Solr的项目?

    我希望能够使用 Solr 搜索 CouchDB 数据库 有没有提供这样的集成的项目 我还知道 CouchDB Lucene 有没有办法让 Solr 融入其中 Thanks 考虑到它是多么容易 自己推出会更有意义 首先 您需要决定使用哪种 S
  • $.mobile.silentScroll 在 worklight 应用程序中不起作用

    我正在使用 IBM 的 worklight 框架开发一个应用程序 其中我使用 jquery 移动库进行编码 不幸的是 当我使用 mobile silentScroll滚动 它没有效果 它不起作用 有人遇到过这个问题吗 在其他工作中 如何在w
  • PowerShell安装NuGet,显示无法访问互联网,但实际上可以

    我按照中提到的步骤进行操作在代理后面使用 PowerShell http woshub com using powershell behind a proxy 配置我的代理服务器 netsh winhttp set proxy IP Por
  • Pygame 或 Python 中的透明窗口

    我正在尝试为我的游戏制作一个透明窗口作为启动屏幕 图像具有透明度 但我无法使窗口透明 例如在其后面看到屏幕 桌面等 我发现的所有内容都不能使用 pygame 我可以从中提取任何外部库来实现这一点吗 顺便提一句 这完全是一个Linux项目 所
  • Django FileField 在上传后移动文件

    围绕这一主题有几个问题 但我发现没有一个适合我想做的事情 我希望能够将文件上传到模型 并使用 pk 等模型实例属性将该文件保存在一个合适的位置 我知道这些东西会在之后设置model save 所以我需要编写一个自定义保存来执行此操作 但我无
  • 如何配置 docker 文件以像 perl 一样运行 cgi 脚本

    我有这个文件 索引 php Dockerfile conf myawesomesite conf cgi bin helloworld pl 在 conf myawesomesite conf 中
  • PHP 页面加载/刷新到准确位置

    我想做的是通过 href 链接将用户传递到 php 脚本 然后将他们传回与单击链接之前完全相同的位置 就像页面尚未刷新一样 有谁知道这是否或如何可能 谢谢 使用 HTML 您可以得到以下内容 p a href script php Send
  • 如何在 MongoDB 中处理小于 1970 的日期

    我有一个包含 生日 字段的文档 该字段的值也可能低于 01 01 1970 我该如何处理这个问题 例如 birthday gt newMongoDate strtotime 31 10 1968 这将创建一个 生日 值 1 1 1970 1
  • Tomcat 上的 SSL 证书 - 别名无法识别密钥

    想知道是否有人可以告诉我我在哪里搞砸了 我有一个 keytool 创建的密钥库 一个来自 Thawte 的主证书 辅助证书和 ssl 证书 我最初使用 openssl 创建了 CSR 然后使用记录的过程将私钥转换为 PKCS12 以导入到密
  • 将一行复制一定次数,然后每次将 30 分钟添加到时间戳(就像序列一样)

    样本数据 ID Location Type Trip End Number of periods 1298 Residential 02 01 2022 05 30 48 1298 Residential 03 01 2022 05 30
  • 可以在 PHP 中测试变量是否是静态的吗?

    PHP 中是否可以测试变量是否是静态的 我正在尝试创建一个神奇的方法 get它还查看静态变量 我发现property exists 当变量也是静态时返回 true 但我需要使用 代替 gt 我会期待吗 可以通过反射测试变量是否是静态的 cl