Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-12-2012 16:57:45

imsouf
Membre
Date d'inscription: 19-12-2012
Messages: 12

DBAdapter et PDO prepare-bind-execute

Bonjour,

lors de l'utilisation des DBAdapter j'ai pu trouver dans la doc l'exemple suivant :

Code:

[lang=php]$adapter = new Zend\Db\Adapter\Adapter($driverConfig);

$qi = function($name) use ($adapter) { return $adapter->platform->quoteIdentifier($name); };
$fp = function($name) use ($adapter) { return $adapter->driver->formatParameterName($name); };

$sql = 'UPDATE ' . $qi('artist')
    . ' SET ' . $qi('name') . ' = ' . $fp('name')
    . ' WHERE ' . $qi('id') . ' = ' . $fp('id');

/** @var $statement Zend\Db\Adapter\Driver\StatementInterface */
$statement = $adapter->query($sql);

$parameters = array(
    'name' => 'Updated Artist',
    'id' => 1
);

$statement->execute($parameters);

Je le trouve beaucoup moins sympathique que l'utilisation du prepare, bind et execute que nous fournis PDO.

Ainsi j'aimerai savoir s'il y a un moyen de faire coexister un objet pdo et un objet dbadapter au sein d'une application Zend de manière propre ?

En vous remerciant.

Dernière modification par imsouf (26-12-2012 16:58:33)

Hors ligne

 

#2 26-12-2012 21:07:38

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: DBAdapter et PDO prepare-bind-execute

Tu peux te créer des raccourcis.

Code:

[lang=php]
...

public function beginTransaction()
    {
        return $this->adapter->getDriver()->getConnection()->beginTransaction();

    }


    public function query($sql)
    {
        return $this->adapter->query($sql);

    }


    public function getAdapter()
    {
        return $this->adapter;

    }


    public function commit()
    {
        return $this->adapter->getDriver()->getConnection()->commit();

    }


    public function rollback()
    {
        return $this->adapter->getDriver()->getConnection()->rollBack();

    }


    public function quoteValue($v)
    {
        return $this->adapter->platform->quoteValue($v);

    }


    public function quoteIdentifier($i)
    {
        return $this->adapter->platform->quoteIdentifier($i);

    }

...

22914720

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages