问题标签 [magic-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
2028 浏览

php - CakePHP 控制器中的 __call() 函数?

__call()CakePHP 的控制器中是否有可用的功能?我在 Zend Framework 中使用了这个函数。

我收到这样的错误:

用户控制器中缺少方法

对于 URL site.com/users/somemethodsnotincontoller

0 投票
1 回答
326 浏览

php - __toString 问题

我正在构建一个小的 MVC 系统(学习),并且在我的视图文件中显示变量时遇到了一些问题。

这是来自我的视图类:

这是来自我的控制器:

和视图文件(name_view)

我究竟做错了什么?也许我不得不做一些全球性的事情?

THX / 托拜厄斯

编辑:我刚刚在包含视图文件之前提取了视图类中的 vars 数组,然后它就起作用了。谢谢您的所有帮助。

0 投票
4 回答
60099 浏览

python - 使用 __setstate__ 和 __getstate__ 的简单示例

我不知道__setstate__and __getstate__方法是做什么的,所以帮我举一个简单的例子。

0 投票
0 回答
438 浏览

apache-flex - 如何在 PHP 域对象中使用 getter 和 setter 并使用 Zend_Amf 正确传输它们

我刚开始使用Zend_Amf,到目前为止,我对它从 Flash 向服务器发送对象感到非常满意。将我的对象从服务器发送回我的 Flash 环境让我有点头疼。我的 PHP 对象主要包含具有自定义 getter 和 setter 方法的私有属性。我如何Zend_Amf知道这些属性?当将对象从服务器发送回 PHP 时,它只是尝试。有这样的注释@property吗?非常感谢任何帮助,现在我将尝试将对象转换为stdClass具有$_ecplicitType值的实例。

0 投票
1 回答
1402 浏览

c# - C# 4.0 - 在动态对象上调用受保护的方法是否调用 TryInvokeMember()?

在 C# 4.0 中,有一个新的 DynamicObject。

它提供了一个“神奇的方法” TryInvokeMember() ,当尝试调用不存在的方法时会调用该方法。

http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.tryinvokemember%28VS.100%29.aspx

我想知道的是 TryInvokeMember() 在尝试从定义类外部调用受保护的方法时是否被调用。

我将这种行为与 PHP 进行了对比,在这种情况下,它确实调用了其等效的“魔术方法”__call()。

0 投票
1 回答
795 浏览

php - 如何使 __set 也适用于 PHP 中的静态操作?

当我打电话时self::$parameter = 1;__set叫。

有没有办法解决?

0 投票
2 回答
88 浏览

php - php:在某些情况下避免__get?

我有一堂课,我正在使用__set. 因为我不希望它设置任何东西,所以我有一个经过批准的变量数组,它会在实际设置类属性之前对其进行检查。

但是,在构造时,我希望该__construct方法设置几个类属性,其中一些不在批准的列表中。因此,当构造发生时,$this->var = $value我当然会得到我不允许设置该变量的异常。

我能以某种方式解决这个问题吗?

0 投票
4 回答
151 浏览

python - 获取创建的对象将被赋予的属性名称

在我问这个之前,请注意:我想要这个用于调试目的。我知道这将是一些糟糕的黑魔法,但我只想在调试期间使用它,这样我就可以更容易地识别我的对象。

就像这样。我有一些来自类的对象,A它创建了一些B实例作为属性:

我想要的是B.__init__,它会找出"vanilla_b"它被赋予的属性名称或任何属性名称,然后将其作为.name这个特定的属性B

然后在调试时,当我看到一些B物体漂浮在周围时,我可以知道它是哪一个。

有没有办法做到这一点?

0 投票
2 回答
2702 浏览

php - 使用带有 2D 数组的魔法 __set() 方法

如果我有以下注册表类:

是否有更简单的方法将新项目推送到“arr”数组中?这段代码:'array[] = item' 不适用于魔法设置方法,我在谷歌上找不到任何有用的信息。谢谢你的时间!

0 投票
7 回答
30487 浏览

python - 为什么 Python 使用“魔术方法”?

我最近一直在玩 Python,我发现有点奇怪的是“魔术方法”的广泛使用,例如,为了使其长度可用,一个对象实现一个方法,def __len__(self)然后在什么时候调用它你写len(obj)

我只是想知道为什么对象不简单地定义一个len(self)方法并将它作为对象的成员直接调​​用,例如obj.len()?我确信 Python 这样做肯定有充分的理由,但作为一个新手,我还没有弄清楚它们是什么。