Я заметил поведение в PHP, которое имеет смысл, но я не уверен, как обойти это.
У меня длинный скрипт, что-то вроде этого
<?php
if ( file_exists("custom_version_of_this_file.php") ) {
require_once "custom_version_of_this_file.php";
exit;
}
// a bunch of code etc
function x () {
// does something
}
?>
Интересно, что функция x () будет зарегистрирована в скрипте ДО того, как будут вызваны require_once () и exit, и, следовательно, вызовут exit; Заявление не препятствует регистрации функций на странице. Поэтому, если у меня есть функция x () в файле require_once (), сценарий завершится сбоем.
Из-за сценария, который я пытаюсь (то есть использовать пользовательский файл, если он существует, а не исходный файл, который, вероятно, будет почти идентичен, но немного отличается), я хотел бы иметь функции в оригинале (вызов ) файл НЕ регистрируется, так что они могут существовать в пользовательском файле.
Кто-нибудь знает, как этого добиться?
Спасибо