Application Symfony2 : Part 2 Insertion et Affichage des Categories
Introduction
Au cours de la 2éme partie de ce tutoriel, nous allons voir comment insérer et afficher des catégories.
Insertion Des données
Plutôt que d'effectuer une requête INSERT INTO, nous allons utiliser la puissance de Symfony2 et de Doctrine pour ajouter des catégories de film.
d'abord nous allons préparer la structure générale d'une page :
Routing :
Routing :
Controller :
Ce code montre comment travailler avec la doctrine à l'intérieur d'un contrôleur en utilisant la méthode getDoctrine (). Cette méthode est une raccourci pour obtenir le service de la doctrine.
ligne 13 : Cette ligne récupère l'objet de gestionnaire d'entités de la doctrine, qui est responsable de la gestion du processus de la persistance et de la récupération des objets vers et depuis la base de données.
lignes 15, 20, 25 : Dans ses lignes, vous instancier et travailler avec l'objet $categorie comme un autre, objet PHP normal.
lignes 18, 23, 28 : persist () Méthode dit Doctrine de «gérer» l'objet $categorie. Cela ne provoque pas réellement une requête à apporter à la base de données.
ligne 30 : La méthode flush () est appelée, Doctrine regarde à travers tous les objets qu'il est la gestion pour voir si ils ont besoin d'être persisté à la base de données.
=> Lorsque vous appelez la méthode flush (), elle exécute les requêtes dans le bon ordre
Comme pour l'insertion nous allons passer par 3 étapes
Controller :
Vous pouvez penser à un "Repository" comme une classe PHP dont le seul travail est de vous aider récupérez des entités d'une certaine classe.
ligne 14 : findAll() récupérer tous les données dans l'objet Categorie getRepository('FilmoBundle:Categorie')
View, Templating
Twig définit trois types de syntaxe particulière:
{{ ... }} Affichage
{% ... %} Il est utilisé pour exécuter des instructions telles que boucles for par exemple.
{# ... #} il est l'équivalent de la PHP / * commentaire * / syntaxe. Il est utilisé pour ajouter des commentaires simples ou multi-lignes. Le contenu des commentaires ne sont pas inclus dans les pages rendus.
Voici le vidéo de l'exemple :
À la prochaine part 3 : Symfony2 et les formulaires (Objet Acteur)
ligne 13 : Cette ligne récupère l'objet de gestionnaire d'entités de la doctrine, qui est responsable de la gestion du processus de la persistance et de la récupération des objets vers et depuis la base de données.
lignes 15, 20, 25 : Dans ses lignes, vous instancier et travailler avec l'objet $categorie comme un autre, objet PHP normal.
lignes 18, 23, 28 : persist () Méthode dit Doctrine de «gérer» l'objet $categorie. Cela ne provoque pas réellement une requête à apporter à la base de données.
ligne 30 : La méthode flush () est appelée, Doctrine regarde à travers tous les objets qu'il est la gestion pour voir si ils ont besoin d'être persisté à la base de données.
=> Lorsque vous appelez la méthode flush (), elle exécute les requêtes dans le bon ordre
View :
Symfony2 intègre le moteur de template Twig. Twig vous permet d'écrire, de modèles concis et lisible qui sont plus respectueux de concepteurs de sites Web et, à plusieurs égards, plus puissant que les modèles de PHP:Afficher les données
Comme pour l'insertion nous allons passer par 3 étapes
- Routing
- Controller
- View
Routing :
Controller :
Vous pouvez penser à un "Repository" comme une classe PHP dont le seul travail est de vous aider récupérez des entités d'une certaine classe.
ligne 14 : findAll() récupérer tous les données dans l'objet Categorie getRepository('FilmoBundle:Categorie')
View, Templating
Twig définit trois types de syntaxe particulière:
{{ ... }} Affichage
{% ... %} Il est utilisé pour exécuter des instructions telles que boucles for par exemple.
{# ... #} il est l'équivalent de la PHP / * commentaire * / syntaxe. Il est utilisé pour ajouter des commentaires simples ou multi-lignes. Le contenu des commentaires ne sont pas inclus dans les pages rendus.
Voici le vidéo de l'exemple :
Merci pour Votre Attention
Application Symfony2 Gestion des Films, Part 1 : Création des entités et les tables
Introduction
Au cours de ce tutorial, nous allons
nous lancer dans la création d'une application web en utilisant le framework symfony2. Nous allons créer
gestionnaire des films pas à pas:
- Chaque film comportes un ou plusieurs acteurs
- Chaque film est classé dans une Catégorie( Comédie, Science-fiction, etc )
MISE EN PLACE DE VOTRE BASE DE DONNÉES AVEC DOCTRINE
Nous allons commencer à créer les "Entity". En fait, symfony2 utilise doctrine pour communiquer avec la base de
données MySQL. Doctrine est un ORM qui va nous permettre de traiter toutes nos
tables comme de simples objets. Ainsi pour chacune des tables de notre
application, nous devons créer sa représentation objet.
Les entités vont être créées dans le
dossier Entity, donc, commençons par créer un dossier "Entity" dans
notre bundle: "Gestion_Films/src/HTM/FilmoBundle/Entity"
L’application nécessitant 4 tables "Film", "Acteur", "Categorie" et "Film_Acteur" table d’association entre film et acteur
Nous allons créer les 3 class Film,
Acteur et categorie pour la table film_acteur elle va être générer
automatiquement.
Configuration de la base de données
Avant de commencer, vous aurez besoin de
configurer vos informations de connexion de base de données. Par convention,
cette information est généralement configurée dans un fichier
app/config/parameters.yml
app/config/parameters.yml
Changer le nom de la base à : gestion_film
Maintenant que Doctrine connaît votre
base de données, vous pouvez l'avoir créer
php app/console doctrine:database:create
Création des classes (Entité)
Vous pouvez avoir Doctrine créé des
classes d'entités simples pour vous. Cela vous poser des questions interactives
pour vous aider à construire une entité
php app/console doctrine:generate:entity
Gérer les relations :
class Film{//code du classe film/*** @ORM\ManyToOne(targetEntity="Categorie")* @ORM\JoinColumn(name="categorie_id", referencedColumnName="id")*/Private $categorie;/*** @ORM\ManyToMany(targetEntity="Acteur")* @ORM\JoinTable(name="Film_Acteur")*/Private $acteurs;
Génération des Getters et Setters:
Pour les deux attributs que nous avons
déjà ajouté dans le class film il faut générer les Getters et Setters
php app/console doctrine:generate:entities FilmoBundle:Film# ou bienphp app/console doctrine:generate:entities FilmoBundle# génère toutes les entités du FilmoBundle
Créer les tables de la base:
Doctrine peut créer automatiquement
toutes les tables de base de données nécessaires pour chaque entité connue dans
votre application. Pour ce faire, exécutez:
php app/console doctrine:schema:update --force
Voici le vidéo de l'exemple
À la prochaine part 2 : Insertion et affichage des
données dans la base
Merci pour votre Attention
Création d'un Bundle et une première page avec symfony 2.7
Introduction
Dans cette article nous allons voir comment créer un bundle avec symfony 2.7 en utilisant le console ( invite de commande ) et aussi nous allons créer notre propre page.
Création d'un Bundle
pour créer un Bundle nous allons suivre les étapes suivants :
- Ouvrir une fenêtre de commande sous le répertoire de votre projet ( shift + clic droite ) pour moi c'est Test2symfony C:\wamp\www\Test2symfony.
- Pour consulter la liste des commandes il suffit de taper php app/console et la commande que nous allons utilisé pour créer notre Bundle c'est :
php app/console generate:bundle - Dans Bundle namespace nous allons mettre Nom_du_Site/NomBundle
le mot Bundle à la fin c'est obligatoire avec B en majuscule, pour moi je vais mettre
Bundle namespace: Monsite/TestBundle - Bundle name : TestBundle
- Target directory : nous allons vu dans un article précédent que le code source de notre application vas être implémenter sous répertoire src donc cliquez sur Entrer.
- Configuration format: vous pouvez choisir entre 4 configuration possible
<< xml, yml, php, annotation >> je vous conseille de choisir YML c'est la meilleur configuration. - Pour le reste des étapes taper Yes jusqu’à la fin.
- Maintenant vérifier le dossier SRC vous allez trouver un dossier Monsite et dans ce dossier vous trouvez TestBundle
Création une première page
La création d'une nouvelle page dans symfony2 est un simple processus de trois étapes.
Etape 1: Création de la route
Le fichier de configuration de routage de notre TestBundle est situé à : Src/MonSite/TestBundle/resources/config/routing.yml
page1:
path: /firstpage
defaults: { _controller: TestBundle:First:page }
1ère ligne : page1 c'est le nom de la page ou aussi identifiant car deux page ne peuvent pas avoirs le même nom.
ème ligne : /firstpage c'est le route il définit l'URL à votre page.
3ème ligne : c'est là où nous allons spécifier le nom du fonction à exécuter page elle doit être déclare dans FirstController du notre Bundle TesTbundle
Etape 2: Créer le contrôleur
Quand l'URL /firstpage est gérée par l'application, la route firstpage est apparié et le contrôleur TestBundle:First:page est exécuté par le framework. La deuxième étape du processus de création de la page est de créer ce contrôleur
Le contrôleur TestBundle:First:page est le nom logique du contrôleur, et elle correspond à la méthode pageAction de la classe PHP appelé Monsite\TestBundle\Controller\First. Commencez par créer ce fichier à l'intérieur de votre TestBundle:
Créer la méthode pageAction que Symfony va exécuter quand l'URL est firstpage:
Créer la méthode pageAction que Symfony va exécuter quand l'URL est firstpage:
namespace Monsite\TestBundle\Controller; use Symfony\Component\HttpFoundation\Response; class FirstController {
return $this->render('TestBundle:First:premier.html.twig');
}
Etape 3 : Créer le modèle
le contrôleur rend le TestBundle:First:premier.html.twig, qui utilise la convention de dénomination suivante :BundleName:ControllerName:TemplateName
il s'agit du nom logique du model qui est associé à un emplacement physique en utilisant la convention suivante.
/Resources/views /ControllerName/templateName
Dans ce cas, TestBundle est le nom du bundle , First est le contrôleur , et premier.html.twig le template.
{# src/Monsite/TestBundle/Resources/views/First/premier.html.twig #}
Bonjour c'est ma première page avec symfony2
Voici le vidéo de l'exemple :
Merci pour Votre Attention.
Php n'est pas reconnu comme commande interne ou externe
Introduction
PHP n'est pas reconnu comme une commande interne ou externe est une erreur commune pour les utilisateurs de Windows utilisant wampserver.
Problème
Quand un utilisateur utilise invite de commande pour exécuter une commande php un erreur est produit.
Solution
- Dans le menu Démarrer, cliquez droit sur "Poste de travail" et cliquez sur «Propriétés».
- Paramétrés de système avancées puis sur -> avancés.
- Vous verrez l'image sur la droite pop up.
Vers le bas, cliquez
sur "Variables d'environnement». - cliquez sur "Variable système" faites défiler la liste jusqu'à ce que vous voyez une variable appelée «path»
- Cliquez sur 'path' puis cliquez sur modifier et ajoutez votre "chemin php" pour moi le chemin est : C:\wamp\bin\php\php5.5.12
- Maintenant, pour la partie la plus importante. Assurez-vous que tout est sauvegardé, fermez-le et puis redémarrez votre ordinateur.
Maintenant que votre ordinateur a redémarré, essayer votre commande à nouveau.
Voici un vidéo pour mieux comprendre les étapes que nous avons fait.
Merci pour votre Attention.
Inscription à :
Articles (Atom)

