[RESOLU] Class SQLite3 introuvable

Petit nouveau ! | 2 Messages

20 févr. 2014, 14:40

Bonjour,
Je débute le php et j'ai un souci d'accès à une classe de base chargée en dll avec EasyPhp (dernière version) et php 5.4+

J'ai juste écrit dans une fonction constructeur
$this->database = new SQLite3("../db/data_bas_sqlite.db");
le résultat est
Fatal error: Class 'php1\SQLite3' not found in

Je trouve ça curieux car la classe SQLite3 devrait être automatiquement importée.

Curieusement, quand on créer une classe dérivée de SQLite3, la directive extends importe automatiquement la classe. Dans ce cas l'erreur ne se produit pas.

ViPHP
ViPHP | 2577 Messages

20 févr. 2014, 15:48

Peut être $this->database = new \SQLite3("../db/data_bas_sqlite.db");
Ca permet de préciser que tu travailles dans le namespace par défaut de php.
Je suppose que tu as défini php1 comme namespace dans ton fichier.

Petit nouveau ! | 2 Messages

20 févr. 2014, 15:57

Merci @Mazarini
Effectivement, j'ai bien php1 comme namespace dans mon fichier.
Je cherchais depuis un moment comment trouver le namespace par défaut.
Le fait de mettre l'antislash a bien résolu le problème.
Je vais regarder plus en détail la doc sur les namespaces.
Je trouvais en effet ridicule de dériver une classe de base pour avoir une classe qui ne fait rien de plus !!
Cordialement.