Nadpisanie "funkcji"

0

Mam pewien skrypt php, który działa non stop i czasem niestety trzeba coś zmodyfikować w kodzie.
Muszę wtedy wyłączać go i ponownie włączać.
Pomyślałem zatem, aby zmienić funkcje w taki sposób, aby wykonywały kod w zmiennych zawierających funkcje anonimowe, coś w tym stylu

function functionA() {
  global $functionA;
  $functionA();
}
function functionB($var1, $var2=null) {
  global $functionB;
  $functionB($var1, $var2);
}
function initFunctions() {
  global $functionA, $functionB;
  $functionA = function() {
    echo "Hello World";
  };
  $functionB = function() {
    // Here Some Code
  };
}

function changeFunction($which, $code) {
  $tempVar = "function". $which;
  global $$tempVar;
  // $$tempVar = eval($code); // przypisuje rezultat działania funkcji (wartość zwracaną przez return lub null)
  // $$tempVar = $code; // przypisuje kod funkcji, jako string
}

I o ile coś takiego działa to pojawiają się dwa problemy. Nie wiem jak zmodyfikować w późniejszym czasie $functionA i $functionB, by działały nadal jako funkcje.
Zwykłe przypisanie ciągu znaków "function() { // code }" oczywiście nie zadziała. Nie zadziała także eval(), gdyż od razu spróbuje wykonać funkcje i przypisze wartość przez nią zwracaną.
Jak można to zrobić?

1
eval ('$funkcja = function() {}'); // pojedynczy cudzysłów! ważne!

a może Ty nie potrzebujesz php tylko normalnego języka, skoro wyprawiasz takie cuda jak ciągle uruchomiony skrypt? ;p

0

Pierwszy raz widzę, żeby PHP-a nie można było nadgrać...
No chyba że jest wielkości >1MB.

1 użytkowników online, w tym zalogowanych: 0, gości: 1