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 :

plugin privé chemin


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut plugin privé chemin
    slt,

    je fais un plugin sur les chemin upload et j'ai un PB

    voici ma class
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    class Nico  {
        /**
    	 * Retou
         *
         * @return <type>
         */
        public $image ;
        public $chemin ;
     
     
        public function __construct($chemin,$image)
        {
            $this->chemin= $chemin;
            $this->image = $image;
        }
    	public function getUploadFileSrc()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc().'/'.$image;
    	}
            public function getUploadFileSrc2()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc2().'/'.$image;
    	}
    	/**
    	 * Retourne le chemin relatif de la photo miniature
    	 */
    	public function getUploadFileSrcMini()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirSrc().'/mini_Upload/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin absolu de la photo
    	 */
    	public function getUploadFilePath()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirPath().'/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin absolu de la photo miniature
    	 */
    	public function getUploadFileMini()
    	{
    		if (!$image) {
    			return null;
    		}
     
    		return $this->getUploadDirMini().'/'.$image;
    	}
     
    	/**
    	 * Retourne le chemin du dossier relatif
    	 */
    	public function getUploadDirSrc()
    	{
    		return '/uploads/'.$chemin;
    	}
            public function getUploadDirSrc2()
    	{
    		return $chemin;
    	}
    	/**
    	 * Retourne le chemin du dossier absolu
    	 */
    	public function getUploadDirPath()
    	{
    		return sfConfig::get('sf_upload_dir').$chemin;
    	}
     
    	/**
    	 * Retourne le chemin du dossier miniature absolu
    	 */
    	public function getUploadDirMini()
    	{
    		return $this->getUploadDirPath().'/mini_Upload';
    	}
            /**
    * Effectué avant la sauvegarde
    */
    public function preSave($event)
    {
     
    // $event->getInvoker permet de récupérer le dernier enregistrement (Doctrine_Record)
    // getModified(true) permet de récupérer les anciennes valeurs
     
    $modified = $event->getInvoker()->getModified( true );
     
    // On regarde si le champ photo a été modifié
     
    if (isset($modified[$image]))
    {
    	$old_path = $this->getUploadDirPath() . '/' . $modified[$image];
    	$old_mini = $this->getUploadDirMini().'/'. $modified[$image];
     
         // Si le fichier existe, on le supprime
    	if (file_exists($old_path))
    	{
    		@unlink($old_path);
     
    	}
     
    	// Idem pour la miniature
    	if (file_exists($old_mini))
    	{
    		@unlink($old_mini);
    	}
     }
    }
     
    public function postDelete($event)
    {
      // On supprime la photo si le fichier existe et la miniature
      if (file_exists($event->getInvoker()->getUploadFilePath()))
      {
    	@unlink($event->getInvoker()->getUploadFilePath());
    	@unlink($event->getInvoker()->getUploadFileMini());
      }
    }
     
    }
    dans mon fichier from
    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
    class CquesnelCollectionForm extends BaseCquesnelCollectionForm
    {
      public function configure()
      { 
     
     
    $this->object = new Nico('essai', $this->getImg());
          $this->setWidget('img', new sfWidgetFormInputFileEditable(array(
    	  'label'     => 'Photo',
    	  'file_src'    => $this->getObject()->getUploadFileSrcMini(),
    	  'edit_mode'   => !$this->isNew(),
    	  'is_image'    => $this->getObject()->getUploadFileSrc(),
    	  'delete_label' => 'Supprimer',
    	  'template'  => '<div>%file%<br />%input%<br />%delete% %delete_label%</div>',
     
     
      )));}}
    il me donne comme error ->
    Error sfException Call to undefined method CquesnelCollectionForm::getImg.
    la je cherche mais je vois pas.
    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Dans la classe CquesnelCollectionForm

    tu fais appel à une méthode getImg qui n'est pas définie...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    ça je l'avais bien compris mais je ne vois pas ou est l'erreur peu tu m'aider ?

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je veux bien, mais je ne sais pas trop comment

    Questions :

    Que devrait faire cette méthode getImg() ?

    Pourquoi l'utiliser là ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    getImg tu t'en doute récuper l'image upload et est assigné vers les répertoire relatif et absolut. Le constructeur prend deux valeurs "le dossier absolut" et "le nom de la méthode" a assigné. L'idée est que si qqun a appelé sa méthode getImage il n'a pas a changer tous les getImg dans la class

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je n'imagine surtout rien, en deux ans sur symfony, j'ai vu beaucoup de choses qui étaient très différente de ce que j'imaginais, donc, j'évite

    Ce que je sais c'est que ce n'est pas une méthode standard de l'objet sfForm ou sfFormSymfony ou tout simplement d'aucun objets standards de symfony.

    Donc tu dois bien la définir quelque part, mais où ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    Ma question peut on transforme une méthode en variable ?

  8. #8
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    oui et non.

    Tous dépend de ce que tu entends par transformer.

    Tu peux stocker le résultat d'une méthode dans une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $userId = $user->getId();
    Mais je ne suis pas sur que ce soit ce que tu as derrière la tête.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    Non se serrai plus dans l'idée de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->$variable ou $this->get.
    $variable

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 131
    Par défaut
    Invité régulier

    Nom : nicolas lefebvre
    Inscription: mai 2010
    Messages: 17
    Points: 7
    Infractions: 1/0 (0)

    Non se serrai plus dans l'idée de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->$variable ou $this->get.$variable

  11. #11
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne vois pas ce que tu veux réaliser.

    Le code premier code permettrait de lancer une méthode dont le nom serait dans la variable. Le deuxième n'est pas viable si get est une méthode.

    Tu peux aussi, si l'objet le permet, accéder directement à l'une de ces propriétés qui est alors vue comme une variable. Mais on ne parle plus de méthode, mais de propriété.

    Il faudra plus de détail et d'explication pour avoir une réponse plus précise.

Discussions similaires

  1. [1.x] creation d'un plugin privé
    Par erictomcat dans le forum Symfony
    Réponses: 3
    Dernier message: 03/01/2014, 23h50
  2. Réponses: 1
    Dernier message: 03/02/2010, 17h21
  3. connaitre le chemin du repertoire ou se trouve mon plugin
    Par bitbis dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 04/07/2007, 15h53
  4. [Plugin] Récuperation du chemin d'un fichier!
    Par GRM dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 21/03/2005, 09h39
  5. [Plugin Tomcat] Chemin relatif
    Par cloogy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 01/03/2005, 16h26

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