我意识到这是一个常见问题,我已经尝试自己解决它,但是在按照其他答案的说明进行操作后,我无法让它发挥作用。所以,这就是问题所在——我需要从 ClassTwo 中的 ClassOne 类中调用一个方法。所以我这样做了:
class ClassOne{
public function methOne($par1,$par2){
mysql_query("insert into ps_loyalty_events (customer_id,event_id) values ('$par1','$par2') ") or die(mysql_error());
}
}
class ClassTwo{
private $customer; //initialize $customer in the constructor, to be defined as an instance of ClassOne() class and used as $this->customer
function __construct() {
$this->customer = new ClassOne();
}
public function methTwo(){
//some stuff here
$this->customer->methOne(6,10); //6,10 - randomly chosen parameters, irrelevant
//some more stuff here, this doesn't get executed at all
}
}
问题不在 ClassOne 或方法 methOne() 中,因为以下列方式直接从常规 PHP 文件调用它们有效:
$customer = new ClassOne();
$customer->methOne(6,10);
但是,当我从 ClassTwo 方法调用它时,它什么也不做 - 它只是停止执行该函数。使用 try-catch 似乎没有输出任何东西。我究竟做错了什么?