当函数/方法调用在类中时,我在发送参数时遇到问题。
我这样做:
echo class_name::function_name('string_arg');
成功到达CCD_ 2类内的函数CCD_。但是参数string_arg
是一个字符串,在函数运行时不会被提取。这就像这个函数没有接收到参数或者只是没有读取它
有关信息:此调用是从同一类中的另一个函数内部进行的
我是不是用这个::
类调用方法做错了什么?我可以到达函数,这很令人困惑,但不管参数如何,我仍然只得到函数的默认行为。
我很少看到有人将类::function_name()用于非静态方法。你使用它有什么原因吗?
你试过这个吗?
<?php echo $this->function_name($str); ?>
这将取决于函数是否使用副作用。如果这个函数只是返回一个值,那么就没有问题,因为它不需要与类本身交互。我认为问题可能是你试图将其作为工作对象之外的类方法进行调用。当你将类部分添加到调用的前面,即这个位class_name::
时,你实际上并没有调用与当前对象中的类相同的类,因此它不会影响或使用该对象中的字段。如果您只调用function_name('string')
,那么它将使用您调用它的对象的字段。