IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Appel d'une fonction interne au controller


Sujet :

Symfony PHP

  1. #1
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut Appel d'une fonction interne au controller
    Bonjour à tous, pourriez vous m'aider?

    Voici mon controlleur

    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 projetBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
     
    class DefaultController extends Controller
    {
        /**
         * @Route("/")
         */
        public function indexAction()
        {
    		$random = random_string(18);
            return $this->render('projetBundle:Default:index.html.twig', array(
    			'pass' => $random,
    		));
        }
     
    	public function random_string($length)
    	{
    		$possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvwz`~!@#$%^&*()_-+=|}]{[":;<,>.?/0123456789';
    		for($i=0;$i<$length;$i++)
    		{
    			$char = substr($possible, mt_rand(0, strlen($possible) - 1), 1);
    			$string .= $char;
    		}
     
    		return $string;
    	}
    }
    J'ai l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attempted to call function "random_string" from namespace "projetBundle\Controller".
    J'ai l'impression que le controlleur ne trouve pas la fonction.
    Je dois créer un service?

    Merci de votre aide.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,
    Pour corriger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function indexAction()
        {
    		$random = random_string(18);
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function indexAction()
        {
    		$random = $this->random_string(18);
    Juste une remarque http://jcrozier.developpez.com/tutor...tions-nommage/:
    On appelle pas des fonctions avec ' _ ' , franchement j'ai l'impression que c'est un opérateur standard php

  3. #3
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Super merci à toi.

    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
    33
    <?php
     
    namespace projetBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
     
    class DefaultController extends Controller
    {
        /**
         * @Route("/")
         */
        public function indexAction()
        {
    		$random = $this->randomString(8);
            return $this->render('projetBundle:Default:index.html.twig', array(
    			'pass' => $random,
    		));
        }
     
    	private function randomString($length)
    	{
    		$possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvwz`~!@#$%^&*()_-+=|}]{[":;<,>.?/0123456789';
    		$string = "";
    		for($i=0;$i<$length;$i++)
    		{
    			$char = substr($possible, mt_rand(0, strlen($possible) - 1), 1);
    			$string .= $char;
    		}
     
    		return $string;
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel à une fonction interne à un objet javascipt depuis cet objet
    Par actiproj dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/03/2014, 19h36
  2. Réponses: 2
    Dernier message: 27/09/2013, 09h40
  3. Appel à une fonction dans un controller
    Par cissou06 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 19/12/2007, 11h56
  4. Appel d'une fonction
    Par jfphan dans le forum ASP
    Réponses: 4
    Dernier message: 14/04/2004, 15h06
  5. A la recherche de l'appel d'une fonction...
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 24/09/2003, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo