IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Classe PDO introuvable [2.x]


Sujet :

Symfony PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Classe PDO introuvable
    Bonsoir chers amis développeurs,
    Je développe depuis avec l'aide de Symfony, et lorsque je veux simplement me connecter à une BDD MySQL grâce à PDO, voici le code incriminé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
     
    namespace JB\BlogBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
     
     
    class DefaultController extends Controller
    {
     
        public function indexAction()
        {
    	/*$newsObj = new news();
    	$news = $newsObj->getLastNews();*/
    	$dbLink = new PDO('mysql:host=localhost;dbname=jb', 'user', 'passwd');
            return $this->render('JBBlogBundle:Default:index.html.twig', $news);
        }
    }
    ?>

    J'obtiens ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Class 'JB\BlogBundle\Controller\PDO' not found in C:\xampp\htdocs\Symfony\src\JB\BlogBundle\Controller\DefaultController.php on line 15

    Je ne comprends pas ? Pourtant j'ai bien activé l'extension PDO pour MySQL dans le php.ini, et la dll correspondante est bien présente dans le dossier /ext.
    Je suis sous Windows 7 x64 et j'utilise la dernière version de XAMPP pour mes développements.

    J'ai vu qu'on pouvait utiliser Doctrine pour les accès aux BDD, est ce obligatoire ou on peut quand même utiliser PDO ?

    Pardon pour les extraits de code un peu longs, mais je pense que c'est plus explicite ainsi.

    Merci pour votre aide.

    Cordialement,

    J. BENOIT.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut


    Et en ajoutant un \ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbLink = new \PDO('mysql:host=localhost;dbname=jb', 'jb_user', 'MySqljb2')
    Tu demandes alors d'aller voir en dehors du ns courant (décalré par namespace).

    Pourquoi ne pas utiliser Doctrine2 ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ah, là je me sens un peu bête
    Merci beaucoup.

    Au sujet de Doctrine 2, je me frotte tout juste à Symfony, et je ne connaissais les ORM que par leur définition, sans jamais les avoir utilisés.
    Si je comprend bien, un ORM permet de gérer une BDD à la façon d'un objet (avec des méthodes en lieu et place des requêtes SQL), et ainsi cela masque tout le côté langage SQL ?
    Mais quels sont les avantages et les inconvénients par rapport à PDO ?
    Et lequel est le plus judicieux dans le développement d'un blog ?

    Merci.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut
    Lance-toi directement dans l'ORM .

    Object-Relational Mapper, donc un lien entre des objets et une base : tu modifies un objet, puis tu demandes à l'ORM de le mettre en base. Tu fais alors des requêtes sur des objets, pas des tables. Par rapport à PDO, tu n'écriras jamais une seule requête SQL (tout sera retransformé en SQL après), deux options restent possibles : l'utilisation d'une requête SQL avec de l'objet ou le constructeur de requêtes. Mais je te conseille d'aller voir la doc.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] Ne trouve pas la classe pdo
    Par sliderman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/10/2007, 17h18
  2. [POO] POO pour une classe PDO
    Par nabab dans le forum Langage
    Réponses: 2
    Dernier message: 07/08/2007, 23h58
  3. classe est introuvable
    Par james94 dans le forum JDBC
    Réponses: 6
    Dernier message: 02/06/2007, 11h19
  4. Réponses: 10
    Dernier message: 28/11/2006, 21h53
  5. Réponses: 2
    Dernier message: 09/05/2006, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo