Use “__halt_compiler” para … bem, interromper o compilador PHP

Um método “mágico” pouco conhecido em php:

void __halt_compiler ( void )

Permite que você diga “pare de compilar além deste ponto” em seu código-fonte php.

O principal uso disso é permitir que você insira dados no mesmo arquivo que a fonte do PHP. Por exemplo, este script

<?php

// open this file
$fp
= fopen(__FILE__, 'r');

// seek file pointer to data
fseek
($fp, __COMPILER_HALT_OFFSET__);

// and output it
echo stream_get_contents
($fp);

// the end of the script execution
__halt_compiler
();
foo
! bar!
baz
! bam!

Produz o seguinte:

foo! bar!
baz
! bam!

Outro uso seria permitir que um desenvolvedor insira instruções de depuração temporárias em seu código de uma forma que, de outra forma, falharia na compilação. Por exemplo, se você tem um conjunto de instruções if / then nas quais deseja inserir uma linha ou cláusula temporária, pode fazer o seguinte:

if($condition) {
// do some work
}
var_dump
($variable);
__halt_compiler
();
else {
// do some other work
}

Observe que isso só pode ser chamado no escopo de nível superior.