使用参数调用类中的函数

时间:2013-08-31 07:22:24

标签: php function class methods arguments

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

我这样做:

echo class_name::function_name('string_arg');

成功到达function_name类中的函数class_name。但是,当函数运行时,不会获取作为字符串的参数string_arg。就好像该函数不接收参数或只是不读它。

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

我在这个::类调用方法中做错了吗?令我感到困惑的是,我可以达到这个功能,但是参数无论如何我仍然只能得到函数的默认行为。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我很少看到人们使用class :: function_name()作为非静态方法。你有没有理由使用它?

你试试这个吗?

<?php echo $this->function_name($str); ?>