Errata

I was reading through PHP Advanced this evening and on page 63, came across something incorrect (regarding objects in PHP):

PHP does not support multiple levels of inheritance, so you could not make a Grandchild class that extends a Child class that in itself is an extension of the Parent class.

Actually, PHP does support multiple levels of inheritance, and you can see the proof yourself by browsing the source code of the PEAR DB class found here. The inheritance path for the DB_mysql object looks like this:

PEAR -> DB_common -> DB_mysql

And even the PHP website’s documentation confirms this (found here):

You create a class, parent, and use extends to create a new class based on the parent class: the child class. You can even use this new child class and create another class based on this child class.

Now, what is true is that PHP doesn’t support multiple inheritance in general— i.e. inheriting from multiple sources simultaneously. But chaining a string of class definitions singly is okay.