Namespaces
You know that you cannot have two classes with the same name, since PHP would not know which one is being referred to when creating a new object. To solve this issue, PHP allows the use of namespaces, which act as paths in a filesystem. In this way, you can have as many classes with the same name as you need, as long as they are all defined in different namespaces. It is worth noting that, even though namespaces and the file path will usually be the same, this is enforced by the developer rather than by the language; you could actually use any namespace that has nothing to do with the filesystem.
Specifying a namespace has to be the first thing that you do in a file. In order to do that, use the namespace
keyword followed by the namespace. Each section of the namespace is separated by \
, as if it was a different directory. If you do not specify the namespace, the class will belong to the base namespace, or root. At the beginning of both files—Book.php
and Customer.php
—add the following...