OK je demande que cela.. Comment crée tu une classe manuellement ? Comment la rendre accessible depuis mon controleur courant.
Merci, tu m' aides bcp la que la plupart des doc que je lis depuis 3 semaines... Le 23 novembre 2010 13:41, Stéphane <[email protected]> a écrit : > Non effectivement il n'aime pas. > > Si tu veux laisser la function calculeffectif dans l'action, tu dois faire, > dans executeBLABLA: > $this->calculeur = $this; > Ainsi dans ton template tu auras accès à l'objet blablaActions, et donc à > sa fonction calculeffectif. > > L'autre solution est de déporter le code de calcul dans une classe métier > qui n'a que ça à faire (ainsi tu sépares ton code, et c'est mieux : imagines > que tu aies besoin d'appeler cette fonction au par ailleurs : tu ne pourras > pas car tu devras instancier l'action -ce qui n'est pas ton boulot, mais > celui du framework). > > Donc je te conseil vivement de créer une nouvelle classe > "calculeurEffectifs", d'y mettre tes fonctions de calculs, et dans ton > executeBLABLA de faire ceci: > $this->calculeur = new calculeurEffectifs(); > > Après dans ton template tu pourras faire <?php echo > $calculeur->calculeffectif(...);?> > > > > > Before Printing, Think about Your Environmental Responsibility! > Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! > > > 2010/11/23 manuel brossard <[email protected]> > >> Je suis dans la classe consultantActions (actions.class.php) donc il faut >> que je fasse un >> >> $this->calculeurEffectif = new consultantActions (); >> >> ? >> >> >> >> je crois que j' ai déja essayé il aime pas trop car il essai de contruire >> une nouvelle fois la classe consultantActions . >> >> >> >> >> Le 23 novembre 2010 13:27, Stéphane <[email protected]> a écrit : >> >> Ah. >>> >>> Bah fait ceci alors, dans ton executeBLABLA: >>> >>> $this->calculeurEffectif = new taClasseDeCalcul(); >>> >>> Ainsi tu pourras l'utiliser dans ton template >>> >>> <?php echo $calculeurEffectif->calculblabla(...);?> >>> >>> Tu peux aussi créer un Helper approprié et créer des fonctions appropriés >>> selon tes besoins. >>> Par exemple tu pourrais faire une classe singleton qui serait utilisée au >>> travers de tes helpers. >>> Ceci dit les helpers c'est bien pour la logique d'affichage, pas pour >>> gérer de la logique métier, donc je préfère utiliser la première méthode >>> donnée ci dessus. >>> >>> >>> >>> Before Printing, Think about Your Environmental Responsibility! >>> Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! >>> >>> >>> 2010/11/23 manuel brossard <[email protected]> >>> >>>> Oui, justement je passe des paramètres différents en fonction du >>>> template et surtout de leur emplacement. >>>> >>>> Ainsi pour la première ligne j' appel ma fonction avec calculeffectif(1, >>>> $effectif, $id ); >>>> Pour la seconde calculeffectif(2, $effectif, $id ); >>>> etc.. >>>> >>>> Je parcours donc plusieurs fois mon tableau de résultat pour en extraire >>>> les valeurs des colonnes souhaités dans mon template. >>>> >>>> Merci de ton aide. >>>> >>>> Les tutos jobeet sont pas mal.. mais ya pas bcp d' info sur ces cas.. la >>>> malheuresement.. moins bateau que je mets les cubes dans les cubes ou l' >>>> explication est presque évidente.. trop surement , mais c' est déja pas >>>> mal >>>> quand un on se fait au mvc je reconnais.. >>>> >>>> >>>> >>>> >>>> >>>> >>>> Le total est fonction d' une ligne d' un tableau.. >>>> >>>> Le 23 novembre 2010 13:04, Stéphane <[email protected]> a écrit >>>> : >>>> >>>> Aaah ok tu appels ces fonctions dans le template au lieu de les appeler >>>>> dans l'action ! >>>>> On le voit car l'erreur stipule que tu appel ->calculeffectif sur un >>>>> objet de la classe sfPHPView ! >>>>> >>>>> Il faut que tu appels cette fonction dans le executeShowevaluation par >>>>> exemple : >>>>> >>>>> public function executeShowevaluation (sfWebRequest $request) >>>>> { >>>>> $this->id = $request->getParameter('id'); >>>>> $this->name = Doctrine_Core::getTable(' >>>>> Customer')->getFirstName($this->id); >>>>> $this->evaluation = >>>>> Doctrine_Core::getTable('Evaluation')->getEvaluationbycustomer($this->id); >>>>> $this->total = $this->calculeffectif(....); >>>>> } >>>>> >>>>> >>>>> Ainsi dans ton template, tu auras accès la variable $total : >>>>> <?php echo $total?> >>>>> >>>>> Je te conseil vivement de lire les tutoriaux (vraiment bien faits) de >>>>> symfony (genre Jobeet) >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Before Printing, Think about Your Environmental Responsibility! >>>>> Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! >>>>> >>>>> >>>>> 2010/11/23 manuel brossard <[email protected]> >>>>> >>>>>> Quel objet ? >>>>>> >>>>>> Voici la classe complète, mes 3 premières fonctions renvoi bien le >>>>>> résultat attendu dans mes templates.. >>>>>> >>>>>> >>>>>> class consultantActions extends autoConsultantActions >>>>>> { >>>>>> >>>>>> public function executeShow (sfWebRequest $request) >>>>>> { >>>>>> $this->id = $this->getUser()->getGuardUser()->getId(); >>>>>> $this->customers = >>>>>> Doctrine_Core::getTable('Customer')->getMycustomer($this->id); >>>>>> } >>>>>> >>>>>> public function executeShowevaluation (sfWebRequest $request) >>>>>> { >>>>>> $this->id = $request->getParameter('id'); >>>>>> $this->name = >>>>>> Doctrine_Core::getTable('Customer')->getFirstName($this->id); >>>>>> $this->evaluation = >>>>>> Doctrine_Core::getTable('Evaluation')->getEvaluationbycustomer($this->id); >>>>>> } >>>>>> >>>>>> public function calculeffectif ($effectif, $theme, $customer) >>>>>> >>>>>> { >>>>>> $array = $this->evaluation = >>>>>> Doctrine_Core::getTable('Evaluation')->getEvaluationbycustomer($customer); >>>>>> $j=0; >>>>>> foreach ($array as $i => $value) { >>>>>> if ( $array[$i]['score'.$theme] == $effectif) { >>>>>> $j++; >>>>>> } >>>>>> } >>>>>> return $j; >>>>>> >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Le 23 novembre 2010 12:44, Stéphane <[email protected]> a >>>>>> écrit : >>>>>> >>>>>> D'acc, le code de la classe entière c'est possible ? et le code >>>>>>> d'utilisation de l'objet ? >>>>>>> >>>>>>> Sinon on ne peut pas vraiment aider... Tu le comprends sûrement ! >>>>>>> >>>>>>> >>>>>>> Before Printing, Think about Your Environmental Responsibility! >>>>>>> Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! >>>>>>> >>>>>>> >>>>>>> 2010/11/23 manuel brossard <[email protected]> >>>>>>> >>>>>>>> Le voici... >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> public function totaleffectifbytheme ( $theme, $customer) >>>>>>>> >>>>>>>> { >>>>>>>> >>>>>>>> $this->calculeffectif(1, $theme, $customer); >>>>>>>> $this->calculeffectif(2, $theme, $customer); >>>>>>>> $this->calculeffectif(3, $theme, $customer); >>>>>>>> $this->calculeffectif(4, $theme, $customer); >>>>>>>> $this->calculeffectif(5, $theme, $customer); >>>>>>>> $this->efftotal= $this->eff1 + $this->eff2 + $this->eff3 + >>>>>>>> $this->eff4 + $this->eff5 ; >>>>>>>> >>>>>>>> >>>>>>>> return $this->efftotal; >>>>>>>> >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> Le 23 novembre 2010 12:32, Stéphane <[email protected]> a >>>>>>>> écrit : >>>>>>>> >>>>>>>> Le coooooode :) >>>>>>>>> >>>>>>>>> pastebin est ton ami pour poster du code sur le net :) >>>>>>>>> >>>>>>>>> >>>>>>>>> Before Printing, Think about Your Environmental Responsibility! >>>>>>>>> Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! >>>>>>>>> >>>>>>>>> >>>>>>>>> 2010/11/23 manuel brossard <[email protected]> >>>>>>>>> >>>>>>>>>> Oui j' ai essayé cela mais cela ne change rien.. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Le 23 novembre 2010 12:28, Stéphane <[email protected]> a >>>>>>>>>> écrit : >>>>>>>>>> >>>>>>>>>>> Si tu pouvais nous montrer le code, ça aiderait ! >>>>>>>>>>> >>>>>>>>>>> Tu utilises bien $this->NOMDELAFONCTION ? >>>>>>>>>>> Je demande ça parce qu'au vu du code : >>>>>>>>>>> $calcul3=FonctionCalculBase($p1, $p2, $p3) >>>>>>>>>>> on dirait que non >>>>>>>>>>> >>>>>>>>>>> $calcul3= $this->FonctioncalculBase(...); ? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Before Printing, Think about Your Environmental Responsibility! >>>>>>>>>>> Avant d'Imprimer, Pensez à Votre Responsabilitée >>>>>>>>>>> Environnementale! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 2010/11/23 mantex <[email protected]> >>>>>>>>>>> >>>>>>>>>>> Bonjour à tous, >>>>>>>>>>>> >>>>>>>>>>>> Je développe mon premier projet sous symfony et je rencontre pas >>>>>>>>>>>> mal >>>>>>>>>>>> de difficulté pour trouver ou mettre mon code voir quel fonction >>>>>>>>>>>> utilisé pour faire des choses simples. >>>>>>>>>>>> >>>>>>>>>>>> Par exemple .. >>>>>>>>>>>> >>>>>>>>>>>> Dans une classe evaluation.action >>>>>>>>>>>> >>>>>>>>>>>> J' ai 2 fonctions.. >>>>>>>>>>>> >>>>>>>>>>>> Une qui effectue un calcul >>>>>>>>>>>> >>>>>>>>>>>> et une autre qui est cencé faire la sommes des valeurs retourné >>>>>>>>>>>> par la >>>>>>>>>>>> première. >>>>>>>>>>>> >>>>>>>>>>>> Exemple shématisé : >>>>>>>>>>>> >>>>>>>>>>>> FonctionCalculBase($p1, $p2, $p3) >>>>>>>>>>>> >>>>>>>>>>>> { >>>>>>>>>>>> .... >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> FonctionSomme ($p1, $p2) >>>>>>>>>>>> >>>>>>>>>>>> { >>>>>>>>>>>> >>>>>>>>>>>> $p3='valeur'; >>>>>>>>>>>> $calcul1=FonctionCalculBase($p1, $p2, $p3) >>>>>>>>>>>> $calcul2=FonctionCalculBase($p1, $p2, $p3) >>>>>>>>>>>> $calcul3=FonctionCalculBase($p1, $p2, $p3) >>>>>>>>>>>> >>>>>>>>>>>> return $somme= calcul1 + calcul2 + calcul3; >>>>>>>>>>>> >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> J' obtiens un erreur à l' appel des mes foncions >>>>>>>>>>>> FonctionCalculBase() >>>>>>>>>>>> dans le FonctionSomme. >>>>>>>>>>>> >>>>>>>>>>>> Une idée ? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> ' >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>>>> [email protected]. >>>>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>>>>>>> . >>>>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>>> [email protected]. >>>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>>>>>> . >>>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Cordialement, >>>>>>>>>> >>>>>>>>>> Manuel Brossard >>>>>>>>>> Twitter: twitter.com/infonel >>>>>>>>>> Skype : mantex2039 >>>>>>>>>> >>>>>>>>>> Tel: + 33 9 72 17 00 41 >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>> [email protected]. >>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>>>>> . >>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>> Groupes Symfony-fr. >>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>> [email protected]. >>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>>>> . >>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Cordialement, >>>>>>>> >>>>>>>> Manuel Brossard >>>>>>>> Twitter: twitter.com/infonel >>>>>>>> Skype : mantex2039 >>>>>>>> >>>>>>>> Tel: + 33 9 72 17 00 41 >>>>>>>> >>>>>>>> -- >>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>> Groupes Symfony-fr. >>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>> [email protected]. >>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>>> . >>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>> Groupes Symfony-fr. >>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>> [email protected]. >>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>> [email protected]<symfony-fr%[email protected]> >>>>>>> . >>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cordialement, >>>>>> >>>>>> Manuel Brossard >>>>>> Twitter: twitter.com/infonel >>>>>> Skype : mantex2039 >>>>>> >>>>>> Tel: + 33 9 72 17 00 41 >>>>>> >>>>>> -- >>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>> Groupes Symfony-fr. >>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>> [email protected]. >>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>> [email protected]<symfony-fr%[email protected]> >>>>>> . >>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>> >>>>> >>>>> -- >>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>> Groupes Symfony-fr. >>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>> [email protected]. >>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>> [email protected]<symfony-fr%[email protected]> >>>>> . >>>>> Pour plus d'options, consultez la page de ce groupe : >>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>> >>>> >>>> >>>> >>>> -- >>>> Cordialement, >>>> >>>> Manuel Brossard >>>> Twitter: twitter.com/infonel >>>> Skype : mantex2039 >>>> >>>> Tel: + 33 9 72 17 00 41 >>>> >>>> -- >>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>> Groupes Symfony-fr. >>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>> [email protected]. >>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>> [email protected]<symfony-fr%[email protected]> >>>> . >>>> Pour plus d'options, consultez la page de ce groupe : >>>> http://groups.google.com/group/symfony-fr?hl=fr >>>> >>> >>> -- >>> Vous recevez ce message, car vous êtes abonné au groupe Google >>> Groupes Symfony-fr. >>> Pour envoyer un message à ce groupe, adressez un e-mail à >>> [email protected]. >>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>> [email protected]<symfony-fr%[email protected]> >>> . >>> Pour plus d'options, consultez la page de ce groupe : >>> http://groups.google.com/group/symfony-fr?hl=fr >>> >> >> >> >> -- >> Cordialement, >> >> Manuel Brossard >> Twitter: twitter.com/infonel >> Skype : mantex2039 >> >> Tel: + 33 9 72 17 00 41 >> >> -- >> Vous recevez ce message, car vous êtes abonné au groupe Google >> Groupes Symfony-fr. >> Pour envoyer un message à ce groupe, adressez un e-mail à >> [email protected]. >> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >> [email protected]<symfony-fr%[email protected]> >> . >> Pour plus d'options, consultez la page de ce groupe : >> http://groups.google.com/group/symfony-fr?hl=fr >> > > -- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Symfony-fr. > Pour envoyer un message à ce groupe, adressez un e-mail à > [email protected]. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > [email protected]<symfony-fr%[email protected]> > . > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr > -- Cordialement, Manuel Brossard Twitter: twitter.com/infonel Skype : mantex2039 Tel: + 33 9 72 17 00 41 -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à [email protected]. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr
