0

当该函数在类中时,我在使用函数/方法调用发送参数时遇到问题。

我这样做:

echo class_name::function_name('string_arg');

它成功地到达了类function_name内部的函数class_name。但是参数string_arg是一个字符串,在函数运行时不会被获取。就像那个函数没有接收到参数或者只是没有读取它。

有关信息:此调用是从同一类中的另一个函数内部进行的。

::我在这里用这个类调用方法做错了吗?令人困惑的是,我可以访问该函数,但无论参数如何,我仍然只能获得函数的默认行为。

4

2 回答 2

1

这取决于函数是否使用副作用。如果这个函数只返回一个值,那么就没有问题,因为它不需要与类本身交互。我认为问题可能是您试图将其作为您工作的对象之外的类方法调用。当您将类部分添加到调用的前面时,即这一位class_name::,您实际上并没有调用与那个相同的类在您当前的对象中,因此它不会影响或使用该对象中的字段。如果您只是调用function_name('string'),那么它将使用您调用它的对象的字段。

于 2013-08-31T07:31:47.943 回答
1

我很少看到人们将 class::function_name() 用于非静态方法。你有使用它的理由吗?

你试过这个吗?

<?php echo $this->function_name($str); ?>
于 2013-08-31T10:12:10.557 回答