$foo = new Foo(); // => PHP Fatal error: Class 'Foo' not found use.php on line 7 →この 「not found use.php 」となっていることから、 そもそも読み込んだ foo.php 上を探してくれていない可能性があります。
もちろん、 foo.phpには <?php class Foo{ public function func($arg){ echo $arg; } } とだけ記述されていて、極めてシンプルな検証用ファイルなので、 extendsとかimplementsとかそういった要素は関係していません。 なぜ new のときに読み込まれた側ファイルを探索してくれないのでしょうか。 []