我有这个:
class Passing
{
public function foo( $firstArg, $secondArg )
{
echo 'First argument ' . $firstArg;
$passing->bar( 'second arg' );
}
public function bar()
{
echo 'Second argument ' . $secondArg;
}
}
$passing = new Passing();
我想传递$secondArg
的foo()
方法。
例如:
$passing->foo( 'first arg', 'second arg' );
如果可能的话?
可能有几种方法,但是您可以将其分配为对象变量:
class Passing
{
public $something; // maybe use private or protected
public function foo( $firstArg, $secondArg )
{
$this->something = $secondArg;
echo 'First argument ' . $firstArg;
}
public function bar()
{
echo 'Second argument ' . $this->something;
}
}
$passing = new Passing();
$passing->foo( 'first arg', 'second arg' ); // first arg
$passing->bar(); // second arg
您必须正确地构造它,以防在调用etc等bar()
之前使用。或设置默认值;`或多种方式。foo()
bar()
isset($this->something)
public $something = 'blank
很多时候,您可能想在构造函数中执行此操作:
public function __construct( $firstArg, $secondArg )
{
$this->something = $firstArg;
$this->something2 = $secondArg;
}
然后可以通过其他方法使用它们:
$passing = new Passing( 'first arg', 'second arg' );
$passing->foo(); // first arg
$passing->bar(); // second arg
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句