Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2011, 23h29   #1
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
Par défaut plugin privé chemin

slt,

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

voici ma class
Code :
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 :
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 ->
Citation:
Error sfException Call to undefined method CquesnelCollectionForm::getImg.
la je cherche mais je vois pas.
merci de votre aide
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 09h56   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Dans la classe CquesnelCollectionForm

tu fais appel à une méthode getImg qui n'est pas définie...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 20h22   #3
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
ça je l'avais bien compris mais je ne vois pas ou est l'erreur peu tu m'aider ?
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 09h40   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Je veux bien, mais je ne sais pas trop comment

Questions :

Que devrait faire cette méthode getImg() ?

Pourquoi l'utiliser là ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 21h31   #5
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
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
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 08h33   #6
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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ù ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 10h08   #7
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
Ma question peut on transforme une méthode en variable ?
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 11h34   #8
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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 :
$userId = $user->getId();
Mais je ne suis pas sur que ce soit ce que tu as derrière la tête.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 13h22   #9
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
Non se serrai plus dans l'idée de mettre
Code :
$this->$variable ou $this->get.
$variable
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 13h23   #10
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
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 :
$this->$variable ou $this->get.$variable
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 13h26   #11
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h55.


 
 
 
 
Partenaires

Hébergement Web