在新的 stdClass 中声明匿名函数

2023-12-26

只是想知道为什么这样的东西不起作用:

public function address($name){
    if(!isset($this->addresses[$name])){
        $address = new stdClass();
        $address->city = function($class = '', $style = ''){
            return $class;
        };          
        $this->addresses[$name] = $address;
    }
    return $this->addresses[$name];
}

称呼它就像echo $class->address('name')->city('Class')应该只是回声Class,但是我得到Fatal error: Call to undefined method stdClass::city()

我可以找到一个更好的方法来做到这一点,因为这会变得混乱,但我想知道我可能做错了什么,或者 PHP 是否不支持这个以及为什么。


PHP调用致命错误时是正确的Call to undefined method stdClass::city()因为对象$class->address('name') 没有方法 city。 相反,这个对象有财产 city这是闭包类的实例(http://www.php.net/manual/en/class.closure.php http://www.php.net/manual/en/class.closure.php) 您可以验证这一点:var_dump($class->address('name')->city)

我发现调用这个匿名函数的方法是:

$closure = $class->address('name')->city;
$closure('class');

希望这可以帮助!

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

在新的 stdClass 中声明匿名函数 的相关文章

  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • 如何在Web服务中传递URL

    我想将此 URL 作为网址中的值传递http localhost h2orn php verify php email emails hash hash但是 我只能在 符号之前传递 我想传递所有 URL 我正在使用java网络服务 代码在这
  • Symfony php.ini Debian

    我在 Oracle VM VirtualBox 上使用 Debian 7 amd64 LAMP 服务器 我正在尝试安装 Symfony 但遇到了一些小问题 当我运行命令时 php my project name app check php
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • 使用 php 将 HLS Segment (ts) 视频转换并加入到 mp4

    你好我正在使用这个工具 https github com Ejz HLSDownloader https github com Ejz HLSDownloader将 HLS 视频片段从 m3u8 播放列表下载到 ts 文件中 不 我不知道如
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • 哪个 PHP 5 版本最常用?

    当我开发将在不同配置的客户端 Web 服务 通常使用共享托管 上使用的应用程序时 我应该假设大多数 Web 服务器都具有哪个 PHP 5 版本 例如 5 2 x 5 3 x 等 在所有使用 PHP 版本 5 的网站中 有 84 9 使用版本
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样

随机推荐

  • Angular:strictTemplates - 如何正确分配变量

    我在我的Sample html某处定义的
  • mysql innodb 事务并发

    我有3张桌子 Products 产品编号最大可销售产品数可以销售给个人的最大产品数 购买 user id产品编号数量 预订 产品编号 user id数量 希望你能理解这个结构 现在 当用户尝试购买产品时 我必须检查 max products
  • 防止 QDockWidget 自动调整大小行为

    Qt 5 5 0 在我的应用程序中 我有一个 QGraphicsView 作为主要小部件和一个 QDockWidget 作为属性 目标是让用户在图形视图中选择一个项目 并根据该项目显示该项目的适当属性 我通过使用属性管理器小部件来实现此目的
  • Gunicorn 工人创建僵尸进程

    这不是一个真正的问题 但我确实想了解发生了什么 以及为什么会创建这些僵尸进程 还想看看是否有针对这种事情的好的做法 现在我做kill HUP在主 Gunicorn 进程上 它会摆脱僵尸进程 我会自动kill HUP每天早上进行日志轮换 我想
  • Excel 求解器忽略 VBA 中的约束

    我正在尝试使用求解器找到简单投资组合的最大回报 在工作表中直接使用 Solver 可以正常工作 但在 VBA 中设置命令时则不然 相反 正如您从屏幕截图中看到的 它忽略了其中一个约束 T10 中计算的权重总和应 1 有趣的是 如果我将第三行
  • cx_Freeze 帮助:有没有办法不打开控制台?

    我正在尝试将 python 游戏 用 pygame 制作 转换为 Windows 的 exe 文件 我使用 cx Freeze 进行了操作 那里没有问题 问题是 当我启动 myGame exe 时 它 会打开正常的 Pygame 窗口和控制
  • 如何清空 BlockingCollection

    我有一个线程将项目添加到BlockingCollection 在我正在使用的另一个线程上foreach var item in myCollection GetConsumingEnumerable 如果出现问题 我想打破我的 foreac
  • Vimscript:列出的缓冲区数量

    在我的 vim 脚本中 我需要获取所有被视为列出 可列出的缓冲区的计数 即所有执行此操作的缓冲区 not具有未列出的 u 属性 推导该值的推荐方法是什么 你可以使用bufnr 获取最后一个缓冲区的编号 然后创建一个 列出从 1 到该数字并过
  • 使用指针嵌套 std::map

    我在地图内使用地图 并希望访问第二个地图中的特定成员 std map
  • 在Web Api中使用Postman授权属性认证

    我正在使用 RESTful 服务 并发现 Postman 是 GET POST 和测试 API 的最佳插件之一 我在邮递员中找到基本身份验证 无身份验证 DIgest Auth OAuth AWS 如何测试授权控制器和方法 我知道授权属性检
  • 为什么这个SQL语句很慢?

    我有一个包含大约 100 万条记录的表 运行 SQL Server 2008 Web 我有一个搜索例程 尝试匹配产品代码和产品描述 但在某些情况下 速度非常慢 下面是 精简的 sql 语句 WITH AllProducts AS SELEC
  • 当进行相同的 PDO 查询(参数不断变化)时,我是每次都调用prepare(),还是只调用一次?

    我正在尝试学习如何使用 PDO 并且需要帮助理解一些内容 我一直读到使用 PDO 的最大好处之一是它比mysql 当一遍又一遍地进行类似的查询时 我需要进行一个完全相同的查询 只是绑定参数每次都会改变 但查询的结构是相同的 所以 这是我的问
  • 如何覆盖 Riverpod StateNotifier 的状态以进行测试

    我想覆盖我的StateNotifierProvider手动声明以进行测试 可以使用以下方式覆盖提供者ProviderContainer or ProviderScope 但它只提供了覆盖通知者的选项 而不是状态 我的问题是我应该如何覆盖状态
  • Jquery图像叠加?

    我希望使用 jquery 将右上角的图像覆盖在另一张图像上 基本上 当用户的鼠标悬停在图像上方时 我希望第二个图像出现在右上角的另一张图像上方 然后当用户停止悬停在图像上时消失 我如何用 Jquery 实现这一点 Senad 是很正确的 你
  • 父进程如何通过调用_exit的子进程的wait来获取终止状态

    我已阅读以下声明 给 exit 的 status 参数定义了终止状态 该进程 当该进程的父进程可用时 该进程可用 调用 wait 进程总是由 exit 成功终止 即 出口 一去不复返 Question If exit不返回 父进程如何获取终
  • ASP.Net MVC jQuery AJAX 路由问题

    我的页面是domain com home details 1 在我的 jQuery AJAX 调用中 我有以下内容 但是当它进行该调用时 它会调用domain com home details home getdata 我该怎么做才能让它得
  • React Native:无法导入 csv 文件

    我有一个csv文件位于 src data文件夹 我希望导入它以便能够传递到帕帕帕斯库被解析为JSON图书馆 这是我用来执行此操作的脚本 import Papa from papaparse import file from src data
  • Micronaut-Core:如何创建动态端点

    简单的问题 是否可以创建端点而无需 Endpoint 我想通过文件并根据其上下文的内容创建相当动态的端点 Thanks 更新一下我的想法 我想创建类似插件系统的东西 以使我的应用程序对于维护和未来功能更具可扩展性 值得一提的是 我正在使用
  • 如何将pyspark数据帧写入HDFS,然后如何将其读回数据帧?

    我有一个非常大的 pyspark 数据框 所以我想对其子集进行预处理 然后将它们存储到hdfs 后来我想把它们全部读完并合并在一起 谢谢 将 DataFrame 写入 HDFS Spark 1 6 df write save target
  • 在新的 stdClass 中声明匿名函数

    只是想知道为什么这样的东西不起作用 public function address name if isset this gt addresses name address new stdClass address gt city func