mirror of
https://github.com/danog/psalm.git
synced 2024-12-11 08:49:52 +01:00
205fdd197e
* Wrap entrypoints into IIFE to protect their variables Fixes vimeo/psalm#5359 * Add tests for Psalm variable isolation * Capture environment before registering autoloader
22 lines
516 B
PHP
22 lines
516 B
PHP
<?php
|
|
|
|
// attempt to destroy some variables Psalm entrypoint may be using
|
|
// this will run when autoloader is being registered
|
|
foreach ($GLOBALS as $key => $_) {
|
|
if ($key === 'GLOBALS') {
|
|
continue;
|
|
}
|
|
$GLOBALS[$key] = new Exception;
|
|
}
|
|
|
|
spl_autoload_register(function() {
|
|
// and destroy vars again
|
|
// this will run during scanning (?)
|
|
foreach ($GLOBALS as $key => $_) {
|
|
if ($key === 'GLOBALS') {
|
|
continue;
|
|
}
|
|
$GLOBALS[$key] = new Exception;
|
|
}
|
|
});
|