在PHP中有什么方法可以在调用另一个类的方法时动态调用一个类的方法? 一个例子: 呼叫方法
User::deleteUser('user_id');
但是在解决这个方法之前,我想提前调用方法:
Archive::saveRecord('user_id')
我需要动态,因为我想将它挂钩到更多从表中删除数据的方法。类和方法名称将在Archive类中提供的列表中提供。 它更像是一个可以关闭的归档插件。
答案 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.