the code above throws \"Fatal error: Class \'B\' not found\"... Is it a php
You are declaring the classes and interfaces in the wrong order. This is correct:
interface C {}
class B implements C {}
class A extends B {}
You have trouble specifically with the order of your class definitions. As long as the interface is defined in the same file, it can be declared anywhere - but classes must be defined before they can be extended.
The following is perfectly valid order in PHP:
class B implements C { ... }
class A extends B { ... }
interface C { ... }
There is a closed bug requesting clarification in the PHP5 docs.
An answer to a similar question (Does the order of class definition matter in PHP?) mentions Autoloading. You may want to look into this if you're using multiple files.