gpt4 book ai didi

php - 类似于 PHP 在 Actionscript 中的 __call()

转载 作者:行者123 更新时间:2023-12-04 06:47:23 27 4
gpt4 key购买 nike

假设(作为示例)我有一个类,我想将所有方法调用记录到该类中。

在 PHP 中,这可以通过 __call() 快速轻松地完成。 ,或在带有装饰器的 Python 中。

在 Actionscript 3 中完成同样事情的最简单方法是什么?

最佳答案

扩展 flash.utils.Proxy 并使用 flash.utils.flash_proxy命名空间。有类似 __get 的方法, __set以及删除方法的方法。例如,__call方法是:

override flash_proxy function callProperty(name:*, ...rest):*;

所以如果有一个扩展代理的类,你可以:
var test:MyObject = new MyObject();
test.myMethodThatIsntDefined("param");

然后将调用 callProperty 并将 name 设置为“myMethodThatIsntDefined”,“param”将位于 ...rest 数组中。

asdoc 的链接有一个简单的实现,应该可以帮助您前进。我通常将 Proxy 类用于 API 之类的东西。例如,以前我有一个 Flickr API 包装器,它将函数调用的名称转换为 Flickr API 中的 API 方法名称。就像是:
flickr.galleriesGetPhotos();

在 callProperty 中,我将拆分第一个词以获得 API 名称“flickr.galleries.get_photos”。那时我想,名字是不同的。

关于php - 类似于 PHP 在 Actionscript 中的 __call(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com