Не совсем идеальное решение, о котором я думал, что упомяну здесь для потомков. Оригинальная идея - здесь .
Вы можете зафиксировать ошибку E_PARSE, которую вы получите при плохом 'require', и передать ее функции отключения. Идея состоит в том, чтобы подавить ошибку синтаксического анализа ...
register_shutdown_function('post_plugin_include');
@require 'bad_include.php';
Тогда сделай свое первичное исполнение по факту.
function post_plugin_include() {
if(is_null($e = error_get_last()) === false) {
// do something else
}
}
Как я уже сказал, это не совсем идеально, но, тем не менее, интересно.