Porque file_get_content no va a interpretar PHP, no hace como eval que interpreta lo que tienes. file_get_contents solo toma el resultado de la llamada esto es cuando lo estás ejecutando en forma de URL, pero si estás llamando un archivo directamente en el servidor lo que hace es leer el contenido solamente. Para que entiendas mejor, haz esto
y verás que solo devuelve todo lo que tiene foo.php con sus respectivas entidades.