Bonjour,
Je suis débutant sur Symfony2.
J'ai un problème de compréhension :
Controller:
Service : claude_Teletravail.compteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php namespace claude\TeletravailBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Httpfoundation\Response; class TeletravailController extends Controller { public function accueilAction($page) { // Mise à jour des compteurs // On récupère le service $compteur = this->container->get('claude_Teletravail.compteur'); // Affichage du Template accueil ../..
parameters:
le fichier visiteurs utilisé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # src/claude/TeletravailBundle/Resources/config/services.yml services: claude_Teletravail.compteur: class: claude\TeletravailBundle\Compteur\claudecompte
visiteursRepository :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php namespace claude\TeletravailBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * visiteurs * * @ORM\Table() * @ORM\Entity(repositoryClass="claude\TeletravailBundle\Entity\visiteursRepository") */ class visiteurs { .. et les zones ..
Appel du Repository :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php namespace claude\TeletravailBundle\Entity; use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\ORM\EntityRepository; /** * visiteursRepository * */ class visiteursRepository extends EntityRepository { private $visiteur; private $date; private $page; public function nbrvisit($visiteur, $page) { $qb = $this->createQueryBuilder('v'); $qb->where('v.ip = :ip') ->setParameter('ip', $visiteur) ->andwhere('v.date = :date') ->setParameter('date', currentdate()) ->andwhere('v.page = :page') ->setParameter('page', $page); return $qb->getQuery()->getSingleScalarResult() ->getResult(); } }
2 problèmes : si je ne mets pas le _const ==> paramètre 1 de _const manquant (fatal error)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php namespace claude\TeletravailBundle\Compteur; use Doctrine\ORM\EntityRepository; class claudecompte extends EntityRepository { public function __construct($em, Mapping\ClassMetadata $class) { $this->_entityName = $class->name; $this->_em = $em; } public function comptage() { // Récupération de l'IP du visiteur $visiteur = $this->get_ip(); $visiteur = ip2long($visiteur); // Adresse de la page $page = substr($_SERVER['PHP_SELF'], 1); // Appel de la fontion "nbrvisit" qui est sensée faire un comptage $retour_count = $this->getDoctrine() ->getManager() ->getRepository('claudeTeletravailBundle:visiteurs') ->nbrvisit($visiteur, $page);
si je le mets : la méthode pour Doctrine doit être Findby...
Doctrine est un service. On peut donc appeler de n'importe où. Est-ce qu'il y a une particularité lorsque l'on ne l'appelle pas via le Controller ?
Merci d'avance...
Partager