java - Java 或 PHP 中缺少方法

标签 java php ruby

我一直在寻找不同的语言来开始。我发现 Ruby 中的 method_missing 非常有趣,但无法在 Java 和 PHP 中找到相同的方法。 Java 或 PHP 中是否有类似 method_missing 的东西?

最佳答案

PHP 有 __call($name, array $args)。它是一个包罗万象的东西,可以处理您调用未为实例定义的方法的情况。

在 PHP >= 5.3 中还有 __callStatic($name, array $args) 其功能主要是在类级别(duh)上以相同的方式运行。

class MyClass
{
    public function __call($name, array $args)
    {
        echo "You tried to call $name(".implode(',',$args)."). Silly user.";
    }
}

$k = new MyClass();
$k->doSomething(1,2,3); // You tried to call doSomething(1,2,3). Silly user.

Java 中的等价物有点麻烦,它涉及到一个叫做 Proxy 的东西。类(class)。可以找到教程here -- 示例有点多,无法在此总结。

关于java - Java 或 PHP 中缺少方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7206440/

相关文章:

ruby - bundle install --deployment 数量错误

java - 从图表中删除指针?

java - Eclipse - 无法创建 java 虚拟机

javascript - Jqueryui Datepicker 不显示日历

php - 导出到 Excel 时排除最后一列

ruby-on-rails - rspec 大十进制匹配器

ruby - 将 Ruby 中的字符串切成固定长度的字符串,忽略(不考虑/不管)新行或空格字符

java - 是否可以从小程序读取/写入文件

java - 如何 ping http2 服务器端口的活跃度(grpc 服务器)?

PHP MYSQL 查询 AS 更大的问题