PHP doesn't have a syntax for inner classes. What I typically consider doing is something like
class Car{}
class Car_SteeringWheel{}
tagging the wannabe inner class with the name of its "outer class".
And then have them in the same file, and have the user documentation describing only Car.
Oh, I usually find that Car_SteeringWheel's constructor can do with a parameter to indicate which Car is instantiating it. So that a Car creates a SteeringWheel as
$this->steering_wheel = new Car_SteeringWheel($this);
and then Car_SteeringWheel's contructor starts
function __construct($car)
{
$this->car = $car;
...
}
Because usually the inner object wants access to the outer object's properties (The constructor, note, implies PHP5 - I tended not to use OO in such fancy ways in PHP4).
Anyway, that's want I'm considering at present. Things like access control still need ironing out, of course.