Ajout d’un suffixe aux tables des modèles

2 vues
22 octobre 2011
Jérémie
zendframework-logo

 

Je travaille sur une application qui est en fait le regroupement de deux applications. Les tables sont distinguées par un suffixe pour distinguer si les données qui s'y trouvent appartiennent à l’une ou l’autre des applications. Le tables communes aux deux applications, elles, ne possèdent pas de suffixe.

Les tables de modèles (ou "model tables") sont un concept clé dans le Zend Framework, qui est un framework open source pour le développement d'applications web en PHP. Les tables de modèles sont utilisées pour représenter des données dans une base de données relationnelle et fournissent une interface pour interagir avec ces données à travers des requêtes de base de données.

Dans le Zend Framework, chaque table de modèle est représentée par une classe PHP qui étend la classe de base Zend_Db_Table_Abstract. Cette classe de base fournit des méthodes pour accéder à la base de données, telles que select(), insert(), update() et delete(), ainsi que des méthodes pour définir les relations entre les tables de la base de données.

Les tables de modèles sont souvent utilisées avec le modèle de conception MVC (Modèle-Vue-Contrôleur) pour séparer la logique d'affichage (la vue) de la logique de traitement des données (le modèle). Dans ce modèle, les tables de modèles sont utilisées pour stocker et récupérer les données, tandis que les contrôleurs sont utilisés pour traiter les données et générer des réponses HTTP pour les vues.

Pour ajouter de façon automatique le suffixe correspondant à l’une ou l’autre des applications, j’ai créé la table abstraite My_Db_Table_Abstract qui hérite de Zend_Db_Table_Abstract:
abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract{

public function __construct($config = array())
{
$this->_name=APPLI.$this->_name;
parent::__construct();
}
}
?>

Je définis ensuite les modèles correspondants comme héritant de My_Db_Table_Abstract et le problème est réglé.

Journée du conseil scientifique de l'AFNIC
Réseau social d'entreprise: Yammer ou SharePoint?
CssJsCompress: page blanche, problème d'encodage
Le forum PHP 2012....c'est du passé ! RDV l'année prochaine
Astuces PHP lazy load sous joomla seblod warp
encoder en latin1
Soirée CMS open-source en PHP
Plugin merge css/js pour Joomla
OWF: Open World Forum
Eclipse: Failed to create Java Virtual Machine
Hover sur Slideshow avec jmpress.js
Maximum execution time ...
I love jQuery.ValidationEngine
Mettre son placeholder en couleur noire #000
Calcul dates à partir du numéro de semaine en PHP
RDV AFUP sur les bases de données relationnelles
Du code et des hommes. Stratégies de suivi de projet
Mise en place d'une API REST en PHP
Choisir son outil de gestion de projet web
Pulsar sort son jeu gratuit en ligne
Soirée design pattern et anti pattern en PHP
Connexion à Office 365 en PowerShell
Debugger en PHP
design-pattern et anti-pattern en PHP
Conversion d'un fichier CSV utf8
SQL ignore error SQLSTATE avec sql-mode
Le forum PHP c'est dans 2 semaines !
forum php 2014 : le retour de Drupal annoncé... vraiment ???
Utiliser NOW() de SQL avec ZF
The requested URL was not found on this server.
bug fireEvent dans core.js sous IE9
Créer un QR Code en PHP
Autocomplétion avec Eclipse PDT
Modifier la config Apache pour un site sur PLESK
ZF : Cannot refresh row as parent is missing
Un nouveau routeur pour Joomla!
PHP Tour de Lille
3 nouvelles extensions Joomla! de Pulsar dans la JED
Code et calendrier de l'avent, un crossover sympa
Création de l'antenne parisienne de l'AFUP
Pulsar developpe la passerelle Joomla LUCENE SOLR
PHP multi-versions sur le même Apache
Mon nouveau jeu de stratégie en ligne: Xsword