L'ORM PHP Attila
Venus framework utilise l'ORM PHP Attila monté en composer. Dans cette documentation, nous ne traiterons que des spécificités de l'implémentataion d'Attila. Sinon, n'hésitez pas à vous référer à la documentation officielle de l'ORM Attila : Documentation officielle.Par défaut, le modèle appelée dans Venus est l'entité qui porte le même nom que le controlleur afin de vous accélérer le travail. Cela ne correspond pas toujours au besoin et vous pouvez donc choisir d'appeler une nouvelle entité dans votre contrôleur.
Nous allons supposer la création de cette table (profitez en pour utiliser le scaffolding qui va créer la table, l'entité et le modèle associés) dans /bundles/conf/Db.conf :
"news": { "fields": { "id": { "type": "int", "key": "primary", "null": false, "undefined": true, "autoincrement": true }, "title": { "type": "varchar", "null": false } } }Lançons le scaffolding :
php bin/console scaffolding:run -v -p HomeBundle -c -eAprès le lancement du scaffolding, vous aurez les fichiers de l'entité et du modèle de cette nouvelle table dans votre framework
A présent nous allons ajouter l’utilisation de ce modèle dans notre controller afin de bien comprendre la rapidité et l’efficacité du framework (c’est notre méthode recommandée mais ce n’est pas la seule méthode possible). Nous allons dans notre controller /src/Demo/app/Controller/Exemple1.php.
namespace Venus\src\Demo\Controller; use \Venus\src\Demo\common\Controller as Controller; use \Venus\src\Demo\Model\news as news; # ... # public function __construct() { $this->modelNews = function() { return new news; }; //création de notre raccourcis directement dans le constructeur parent::__construct(); } # ... # public function show() { $aExemple = $this->modelNews->get(); # nous rajoutons notre action ici avec un get automatique var_dump($aExemple); }Si vous testez ces lignes, vous verrez que chaque ligne insérée en base de données apparait dans le var_dump.
[suivant]