PHP中如何获取对象的受保护属性

2023-12-20

我有一个对象具有一些我想要获取和设置的受保护属性。该物体看起来像

Fields_Form_Element_Location Object
(
[helper] => formText
[_allowEmpty:protected] => 1
[_autoInsertNotEmptyValidator:protected] => 1
[_belongsTo:protected] => 


[_description:protected] => 
[_disableLoadDefaultDecorators:protected] => 
[_errorMessages:protected] => Array
    (
    )

[_errors:protected] => Array
    (
    )
[_isErrorForced:protected] => 
[_label:protected] => Current City


[_value:protected] => 93399
[class] => field_container field_19 option_1 parent_1
)

我想要得到value对象的属性。当我尝试时$obj->_value or $obj->value它会产生错误。我搜索并找到了可以使用的解决方案PHP Reflection Class。它在我的本地工作,但在服务器上 PHP 版本是5.2.17所以我不能在那里使用这个功能。那么有什么解决方案如何获得这样的财产呢?


这是如何使用的非常简单的示例(没有错误检查)ReflectionClass:

function accessProtected($obj, $prop) {
  $reflection = new ReflectionClass($obj);
  $property = $reflection->getProperty($prop);
  $property->setAccessible(true);
  return $property->getValue($obj);
}

我知道你说过你的版本限制为 5.2,但那是 2 年前的事了,5.5 是最旧的受支持版本 http://php.net/supported-versions.php我希望能帮助人们使用现代版本。

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

PHP中如何获取对象的受保护属性 的相关文章

随机推荐

  • Java 8 接口中静态方法的用途是什么?

    为什么 Java 8 支持静态方法 下面代码中 main 方法中的两行有什么区别 package sample public class A public static void doSomething System out println
  • 无法加载文件或程序集“Microsoft.Practices.Unity”

    我正在尝试升级Unity版本 2 1 505 2 但是当我运行该应用程序时 我得到以下信息FileLoadException 无法加载文件或程序集 Microsoft Practices Unity 版本 2 0 414 0 文化 中性 P
  • 如何批量限制事件?

    如何批量限制事件 比方说 我想在用户输入时触发文件保存 但执行文件系统访问的频率不超过每 100 毫秒一次 块事件处理程序示例 on
  • 通过使用 mmap() 在进程之间共享内存

    我使用的是Linux 2 6 我有一个环境 其中两个进程通过消息传递模式的简单实现来模拟 使用共享内存 数据交换 我有一个客户端进程 从父进程 即服务器 分叉 它将结构 消息 写入创建的内存映射区域 在分叉之后 message m mmap
  • 枚举的扩展方法,而不是枚举的实例

    我对我的事物有一个枚举 如下所示 public enum Things OneThing AnotherThing 我想为这个枚举编写一个扩展方法 类似于普莱斯的回答在这里 https stackoverflow com questions
  • 使用 liquibase 更新表中的一行

    我希望有人可以验证这是否是正确的语法以及使用 liquibase 填充数据库的正确方法 我想要的只是更改表中一行的值 我这样做是这样的
  • 如何在 Xcode 中编写涵盖 Facebook 登录的 UI 测试?

    我想在 Xcode 中编写一个 UI 测试 涵盖登录FBDSKLoginKit https cocoapods org pods FBSDKLoginKit 然而 Facebook iOS SDK 使用SFSafariViewControl
  • Heroku 在构建过程中找不到 package.json,尽管我有它

    当我将节点应用程序推送到 heroku master 时 我收到此日志 remote Building source remote remote gt App not compatible with buildpack https codo
  • 复选框默认选中=“选中”不起作用?

    复选框默认选中不起作用 我尝试修复它 但我找不到错误在哪里 所以在页面加载时检查 在页面加载后未检查 我试过了 div class onoffswitch style margin 0 auto div
  • Linux系统如何获取内存信息?

    如何在Linux系统上从C 代码中获取总内存 已用内存 可用内存 运行你的程序通过valgrind 对于一个名为foo 例如 valgrind foo 它将在跟踪内存使用情况的工具中运行程序 并在程序终止后打印出该信息 如果你没有valgr
  • Office.js API 是否支持多个范围选择?

    我需要通过 Office js API 同时选择多个范围 就像在 MSWord UI 中按住 CTRL 键并突出显示多个不连续的段落一样 如下面的屏幕截图所示 这种尝试是行不通的 它不是突出显示文档中单词 the 的前两个实例 而是突出显示
  • iOS7 和 Apple Watch

    我有一个最低 iOS 目标为 iOS7 的应用程序 我正在考虑为苹果手表添加一些额外的功能 如果应用程序在 iOS 8 上运行 是否有任何选项可以将 iOS7 维持为最低目标 并且仍然添加对 Apple Watch 的支持 类似于 iOS8
  • Heroku 部署 Gemfile.lock 问题

    我对整个部署的事情还很陌生 当我第一次创建应用程序时 我已经部署过一次它 然后一切似乎都工作正常 我现在对我的应用程序进行了一些更改 我想部署它们并确保它们在生产环境中工作 我添加并提交了最后的更改 并将更改合并到我的主分支中 然后我跑了g
  • Android SDK 需要 Android Developer Toolkit 版本 17.0.0 或更高版本

    当我尝试将我的项目从 eclipse 合并到 netbeans 时 我遇到了这个奇怪的问题 现在 当尝试重新运行 eclipse 时 我收到此错误 Android SDK 需要 Android 开发者工具包版本 17 0 0 或 多于 我尝
  • FastAPI 依赖项(yield):如何手动调用它们?

    FastAPI 使用 Depends 注入返回或产生的变量 例如 快速API SQL https fastapi tiangolo com tutorial sql databases h sqlalchemy main fastapi a
  • 如何在 Tomcat 上运行的 servlet 过滤器中使用 HttpServletRequest#getParts()?

    我想在我的 JSF 应用程序中上传一个文件 我正在使用一个Filter and HttpServletRequestWrapper访问上传 文件 public MultipartRequestWrapper HttpServletReque
  • 没有路由与 rspec 的匿名控制器匹配

    根据我的理解规格规格 http relishapp com rspec rspec rails v 2 1 dir controller specs anonymous controller 我希望下面的例子能够通过 describe Ap
  • 与 Java 相比,使用 Mono 的主要好处是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Oracle 中存储波形

    我正在设计一个新的实验室数据库 我想将所有测试的原始结果存储在一起 然而 结果可以是单个测量或原始波形 转发见页脚 下面哪种情况是理想的 以及为什么 或提供您自己的理想选择 TEST test id other TEST fields 选项
  • PHP中如何获取对象的受保护属性

    我有一个对象具有一些我想要获取和设置的受保护属性 该物体看起来像 Fields Form Element Location Object helper gt formText allowEmpty protected gt 1 autoIn