调用其他方法时执行方法

时间:2018-03-18 00:05:06

标签: php class methods call

在PHP中有什么方法可以在调用另一个类的方法时动态调用一个类的方法? 一个例子: 呼叫方法

User::deleteUser('user_id');

但是在解决这个方法之前,我想提前调用方法:

Archive::saveRecord('user_id')

我需要动态,因为我想将它挂钩到更多从表中删除数据的方法。类和方法名称将在Archive类中提供的列表中提供。 它更像是一个可以关闭的归档插件。

1 个答案:

答案 0 :(得分:0)

您可以使用包含其名称的变量来调用函数。例如:

php > function test() { echo 'works!'; }
php > $exec = 'test';
php > $exec();
works!

使用这种技术,您可以传入下一个要调用的函数的名称,或者使用其他逻辑来确定它。

如果你有一个名为$Archive的数组,想要逐步浏览这个数组中列出的每个函数,你可以这样做:

foreach ($Archive AS $func) $func();

如果您需要指定一个类,这也可以正常工作:

php > class other { function test() { echo 'other.test() called.'; } }
php > function outside($call) { $call(); }
php > outside('other::test');
other.test() called.