可变函数,简单说就是一种支持动态定义的函数。在PHP中,正常函数名是死的,固定不变,而可变函数呢,它可以更灵活地调用。
以我的编程经验认为,可变函数主要有两个使用场景。
第一个场景是:参数化批量执行
假设你的网站有很多模块,每个模块封装成了一个函数。你不想一次次调用,这时就可以考虑固定参数+循环,使用可变函数一次性trigger。例如:
for ($i=1; $i<=10; $i++) { $func = 'module'.$i; $func(); }
这种方式会批量执行module1()到module10()函数。参数再增加,行数也不变,很优雅。
第二个场景是:代码解耦
两个代码段之间不存在直接引用,这种情况,你可以通过可变函数,来进行间接调用。
例如D模块没有引入Y,就调用callFunc('Y_func')
,统一接口,使二者解耦联动。
现在知道了吧?只要你运用恰当,可变函数在这些场景下还是大有用处的。