Si te entendí bien, no tienes que hacer el requiere dentro, lo tienes que hacer afuera, antes de entrar en la función.
Evalúa si no tienes una herencia ahí, o si tienes que hacer una interfaz para asegurarte el diseño, es decir, que todas las clases tengan el método "getDatos".
Código PHP:
// index.php
require_once('class/Usuario.php'); // ojo con estas nuevas clases
require_once('class/Funcionario.php'); // ojo con estas nuevas clases
require_once('class/Empleado.php');
$Usuario = new Usuario();
F1( $Usuario );
// datos.interface.php
interface Datos{
public function getDatos();
}
// funciones.php
require_once( 'datos.interface.php' );
function F1( Datos $a ) {
$lista = $a::getDatos();
}
La idea que la interfaz tenga un nombre más coherente de acuerdo a el contexto de tus clases.