2021-01-30 03:20
runkit出示了一套涵数,能给你动态性的改动随意类和涵数的界定。依据php出示的反射面体制,获得全部客户界定的类和涵数,你可以以把她们重新命名随后再用原先的涵数名/方式名再次加上一个方式/涵数,再次加上的涵数的涵数体,你可以以随意界定---用字串儿,如果你的php脚本制作刚开始实行时,你需要最开始 启用你设计方案的这一 勾子 ,把全部的类的方式或涵数都 钩 一遍,那样,无论是哪一个方式在实行的情况下,都是实行到你出示的选择点上的编码.
但是,在应用runkit的情况下,还碰到一个难题:便是尺寸写的难题,最初,在 钩 方式的情况下,有的方式含有英文大写英文字母,根据反射面获得的方式名 也是区别尺寸写的,可是,应当在php分析实行涵数的情况下,還是把全部方式名或涵数名都变换变成小写,那样,再用runkit出示的动态性加上方式的涵数添 加方式时,也忠诚方式原先的取名,带著英文大写英文字母就立即添进来了,結果,再启用被钩的方式的情况下,出错,死活也找不到原先的哪个方式了,缘故应当就 是,php在分析实行类、方式、涵数时,应当全是按小写方式而定位的方式和涵数的,而用runkit立即加上进来的含有英文大写英文字母的涵数,当然便会找不着, 因此,再用runkit加上方式的情况下,要把方式名都变换成小写,那样php便可以寻找这一方式了,涵数应当也是一样的.
实例编码:
php.ini:
runkit.superglobal=foo,bar
test.php:
function testme() {
echo Foo is $foo\n
echo Bar is $bar\n
echo Baz is $baz\n
$foo = 1;
$bar = 2;
$baz = 3;
testme();
Foo is 1
Bar is 2
Baz is
适配性: PHP 4.2 or greater