перегрузка функций PHP для выполнения действия в первую очередь - PullRequest
2 голосов
/ 24 октября 2011

Мне было интересно, как я могу перегрузить стандартную функцию в php.В частности, я пытаюсь реализовать проверки безопасности для определенных функций.Поэтому я хотел бы переопределить запись как:

function fwrite($handle, $string, $length = null) {
  if (doMyChecks()) {
    original_fWrite($handle, $string, $length);
  } else {
    recordViolation();
  }
}

Я использую CodeIgniter, поэтому я бы поместил этот код в index.php, чтобы сделать его применимым для всех страниц, вызываемых через структуру.

1 Ответ

6 голосов
/ 24 октября 2011

Похоже, вы могли бы использовать функцию PHP override_function(). С сайта PHP.net :

override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
...