如果没有调用任何方法,我想调用一个方法,具体示例:
文件 foo.php 将只包含
$p = new Foo();
没有调用任何方法的事实将触发特定方法。
文件 foo.php 现在将包含
$p = new Foo();
$p->bar();
这不会触发特定方法,因为调用了方法。
这样做的目的是为开始使用我的课程的用户显示帮助。
我也在考虑使用 __destruct() 但我不太确定何时调用 destruct 。
根据 DaveRandoms惊人的评论:
class fooby
{
private $hasCalled=false;
function __destruct()
{
if(!$this->hasCalled)
{
// Run whatever you want here. No method has been called.
echo "Bazinga!";
}
}
public function someFunc()
{
$this->hasCalled=true;
// Have this line in EVERY function in the object.
echo "Funky Monkey";
}
}
$var1 = new fooby();
$var1->someFunc(); // Output: Funky Monkey
$var1 = null; // No triggered trickery.
$var2= new fooby();
$var2 = null; // Output: Bazinga!
__destruct()
是正确的。
class Foo {
private $method_invoked = false;
public function bar(){
$this->method_invoked = true;
print 'bar';
}
function __destruct(){
if(!$this->method_invoked) {
print 'destr';
}
}
}