santé mentale emplois nyc https://pilulesfrance.com/dysfonction-erectile/cialis-sur-internet/ où puis-je acheter des pilules abortives

Utiliser Propel dans votre projet Zend.

Dans cette article, je vais vous montrer comment utiliser Propel comme ORM dans un projet Zend.

L'environnement que j'utilise est un serveur LAMP sous Ubuntu.

C'est quoi un ORM

Un ORM (Object-Relational Mapping) permet d'accéder à une base de donnée en utilisant des classes et objets et en fournissant un API simple qui permet de stocker et récupérer des données.

En savoir plus sur Propel.

Installer Zend

Je pars du principe que vous avez un MySQL, un Apache et PHP 5.3 installés Ouvrez un terminal linux et taper la commande suivante : apt-get install zend-framework Une fois la package installé, créer un projet Zend dans le répertoire de votre choix : zf create project /mon/repertoire

Vérifier bien que vous avez un fichier .htaccess dans votre répertoire "public" dans votre projet Zend.
Son contenu est le suivant : RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]

Il faudra mettre en place le module rewrite sur apache.

Enfin il ne reste plus qu'à configurer le virtualhost sous Apache et l'include_path de PHP.
Pour se faire, rendez vous sur le fichier "default" dans le répertoire "/etc/apache2/sites-available/" via la commande suivante : nano /etc/apache2/sites-available/default Dans ce fichier, j'ai ajouté un virtualhost spécifique pour Zend dont voici le code : ... NameVirtualHost localhost.zend:80 <VirtualHost localhost.zend:80>     DocumentRoot /var/www/zend/public/     ServerName localhost.zend     <Directory "/var/www/zend/public">         Options Indexes FollowSymLinks Multiviews         DirectoryIndex index.php         AllowOverride All         Order allow,deny         Allow from all     </Directory>     ErrorLog ${APACHE_LOG_DIR}/error.log </VirtualHost> ... Enregistrez votre fichier.
Une fois ceci fait, il faut configurer le fichier "php.ini" afin d'ajouter à l"include_path le chemin vers le framework Zend.
Toujours dans un terminal, tapez la commande suivante : nano /etc/php5/apache2/php.ini Localisez la ligne où modifier l'include path et ajouter ceci : ... ; UNIX: "/path1:/path2" include_path = ".:/usr/share/php:/usr/share/php/libzend-framework-php" ... Enregistrez votre fichier.
Il ne vous reste plus qu'à relancer votre serveur apache via la commande suivante : /etc/init.d/apache2 restart

Et voila votre projet devrait fonctionner. Pour le vérifier, ouvrez un navigateur et accéder à l'url suivante : http://localhost.zend/

Si toutefois cela ne fonctionne pas, n'hésitez pas à vous rendre sur le site de Zend : Zend Framework
vous pouvez également laisser un commentaire.

Installer Propel

Nous allons installer Propel via PEAR. Toujours dans un terminal linux, tapez les commandes suivantes : pear channel-discover pear.propelorm.org Vous devez au préalable installer phing : pear channel-discover pear.phing.info
pear install phing/phing
Il vous faudra également installer le package php5-xls via la commande : apt-get install php5-xsl Ensuite il faut installer Propel via les commandes suivantes : pear install -a propel/propel_generator
pear install -a propel/propel_runtime
Et voila Propel est installé.

Créer vos classes à partir d'une base de données existante avec Propel

Je vais vous montrer comment créer vos classes à partir d'une base de données existantes.
Tout d'abord, rendez vous dans le répertoire de votre projet zend (via le terminal).
Créez un repertoire "orm" (par exemple) et créez un fichier "build.properties".

Dans ce fichier, renseignez vos paramètres de connection à votre base de données : propel.project = orm # The Propel driver to use for generating SQL, etc. propel.database = mysql # This must be a PDO DSN propel.database.url = mysql:dbname=orm propel.database.user = orm # propel.database.password = orm Si vous voulez un exemple de base de donnée, allez à la page suivante : Exemple de base de données MySQL.

Une fois votre fichier "build.properties" créé et renseigné, retournez sur le terminal afin de commencer à créer vos classes.
Entrez la commande suivante : propel-gen reverse Le fichier xml de la base de données est créé dans le répertoire "orm". Nous allons pouvoir donc créer les classes à partir de ce fichier.
Entrez la commande suivante : propel-gen om Il est à noter qu'il peut exister des problèmes avec les clés étrangères, il vous faudra mettre à jour manuellement le schéma XML généré. Une fois la commande terminée, vous pourrez voir dans votre répertoire "orm" un répertoire "build" contenant toutes les classes.

Enfin pour terminer, il faut créer le fichier de runtime php pour pouvoir communiquer avec les classes précédemment créées.
Pour le faire, il faut créer un fichier "runtime-conf.xml" dans le répertoire "orm" dont voici le code :     <?xml version="1.0" encoding="UTF-8"?>     <config>         <propel>             <datasources default="orm">                 <datasource id="orm">                     <adapter>mysql</adapter> <!-- sqlite, mysql, myssql, oracle, or pgsql -->                     <connection>                         <dsn>mysql:host=localhost;dbname=orm</dsn>                         <user>orm</user>                         <password>orm</password>                     </connection>                 </datasource>             </datasources>         </propel>     </config> Ensuite dans le terminal, entrez la commande suivante pour créer le fichier "orm-conf.php" et le fichier "classmap-orm-conf.php" : propel-gen convert-conf Les 2 fichiers sont créés dans le répertoire "build/conf".

Intégrer Propel dans votre projet Zend

Nous avons créer nos classes à partir de notre base de données, il faut maintenant l'utiliser avec Zend.

Tout d'abord, copiez les 2 fichiers de conf dans le répertoire "configs" du répertoire "application" de votre projet Zend.
Ensuite ouvrez le fichier de bootstrap.php du répertoire "application". Ajouter une fonction d'initialisation de Propel : protected function _initPropel() {     require 'propel/Propel.php';     Propel::init(APPLICATION_PATH . '/configs/orm-conf.php'); } Enfin copiez le contenu du répertoire "build/classes" dans le répertoire "library" de votre projet Zend.

Exemples d'utilisation de Propel dans votre projet Zend

Si tout c'est bien passé votre projet Zend peut utiliser Propel.
Nous allons voir comment l'utiliser via quelques exemples.

Nous allons partir du controller "indexController.php" :

Lire des données

class IndexController extends Zend_Controller_Action {     public function init()     {         /* Initialize action controller here */         $this->_helper->viewRenderer->setNoRender();     }     public function indexAction()     {         // action body         $actors = ActorQuery::create()->find();         foreach ($actors as $actor) {             $content .= $actor->getFirstname() . ' ' . $actor->getLastname() . '<br />';         }         $this->getResponse()             ->appendBody($content);     } }

Update de données

public function updateAction() {     $actor = ActorPeer::retrieveByPK(1);     $actor->setFirstName('Autre Prénom');     $actor->save(); }

Insertion de données

public function insertAction() {     $actor = new Actor();     $actor->setFirstName('Jerome');     $actor->setLastName('DEBRAY');     $actor->save(); }

Suppression de données

public function deleteAction() {     $actor = ActorQuery::create()->findPk(2);     $actor->delete(); }

Documentation de Propel

Les exemples ci dessus ne sont que des exemples basiques, si vous voulez en savoir plus sur les possibilités de Propel, rendez vous sur la documentation de Propel.
retourner en haut de la page