I\'m writing a small library in PHP and i\'m having some problems with built-in classes not being read. For example:
namespace Woody;
class Test {
public
The below should work:
namespace Woody;
class Test {
public function __construct() {
$db = new \PDO(params);
}
}
You need to prefix PDO with the backslash so PHP knows it's in the global namespace.
This:
namespace Woody;
use PDO;
Or:
$db = new \PDO(params);
Point in case is, that the class PDO
is not a full qualified name within your Namespace, so PHP would look for Woody\PDO
which is not available.
See Name resolution rulesDocs for a detailed description how class names are resolved to a Fully qualified name.
Add a backslash before class name, ie
$db = new \PDO(params);