Portabiliser mes requêtes

Rechercher

Portabiliser mes requêtes

Par dancom5  -  1 reponse  -  Le 20/01/2014 13:26  -  Editer  - 

Bonjour et bonne année 2014!!!

Peut-on plus portabiliser comme séparer la requête de la connexion?
Celui-ci : class Model extends MPDO

    <?php
    /* 
     * Project: Nathan MVC
     * File: /models/home.php
     * Purpose: model for the home controller.
     * Author: Nathan Davison
     */

    class HomeModel extends BaseModel
    {
            //data passed to the home index view
            public function index()
            {   
                    $this->viewModel->set("pageTitle","Le titre de ma page");
                    return $this->viewModel;
            }
    }

    // appel de la connexion

    abstract class Model extends MPDO {

            private $_conn;
            protected $_pk;

            public function __construct() {
                    $this->_conn = MPDO::pdo_connection();
            }

            public function getAll() {
                    $stmt = $this->_conn->prepare("SELECT * FROM ". $this->table);
                    $stmt->execute();
                    return $stmt->fetchAll(PDO::FETCH_OBJ);
            }

    }

    // affichage des artistes via la class Model

    class Artiste extends Model {
            protected $table='artiste';

            public function __construct()
            {
                    parent::__construct();
                    //$this->_pk = 'id';
            }
    }

    ?>
 

Réponses apportées à cette discussion

Par Cyrano  -  Le 21/01/2014 06:34  -  Haut de page  - 

Salut et bonne année à toi également.

Pour ce qui est de la portabilité du SQL, c'est possible à condition de veiller à respecter les standards SQL. Et encore, dans certains cas, une même requête ne fonctionnera pas forcément sur tous les SGBDs car certains n'appliquent pas obligatoirement l'intégralité du standard.
Mais justement, PDO peut aider à simplifier les choses en ceci qu'il suffit de changer juste la connexion pour exécuter une même requête sur un autre type de serveur.
Pour des requêtes CRUD (CREATE, READ, UPDATE, DELETE), ça ne posera pas de grandes difficultés. à où ça pourrait devenir plus ardu, ce sera le cas où on voit apparaitre des procédures stockées ou des fonctions utilisateur qu'il pourra être nécessaire de ré-écrire spécialement pour le nouveau SGBD.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |