Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
je me pose une petite question liée au développement d'une application.
Pour situer un peu le contexte disons que c une gestion de stockage d'articles loués. J'ai donc différents articles, différents mouvements d'entrées et différents mouvements de sorties. Je souhaite faire une page récapitualtive (genre de tableau de bord très simplistes dans lequel je comptabiliserai le nombre total d'entrées de sorties ... autres.
J'ai déjà défini mes fonctions seulement vu quelles ne sont pas liées à un objet où puis-je les stocker pour les utiliser sur différentes vues? J'ai une dizaine de petites fonction du genres que j'aimerai regrouper.
Dernière modification par matdev (08-02-2010 11:24:59)
Hors ligne
Dans mes codes, j'ai une classe Kitpages_Util dans laquelle je mets des fonctions statiques. Je les appelle ensuite par
Kitpages_Util::mkdirr($dir);
Comme ça tout est réuni dans une classe et on sait où le mettre
A+, Philippe
Hors ligne
merci pour l'information par contre où ce situe cette classe, dans les model, les controller, les vues, .... ?
Hors ligne
Dans mon répertoire library/, j'ai le ZF dans un répertoire Zend/ et des classes à moi dans un répertoire Kitpages/
A+, Philippe
Hors ligne
ah oui ok
ben merci pour ta réponse
Hors ligne
Petite question plutôt liée au développement objet avec php qu'avec Zend.
J'ai bien défini ma classe j'accède correctement à mes fonctions par contre j'utilise pour ces fonctions un paramètre me permettant de savoir la période sur laquelle ma fonction doit se concentrer.
Par rapport au paramètre passé à la fonction je fais référence à un tableau pour compléter mes requetes sql.
Voici le tableau
$where=array( "J"=>" and created=now()", "J-1"=>" and created=subdate(now(),INTERVAL 1 DAY)", "S"=>" and week(created)=week(now()) and year(created)=year(now())", "S-1"=>" and week(created)=week(subdate(now(),INTERVAL 1 WEEK)) and year(created)=year(subdate(now(),INTERVAL 1 WEEK))", "M"=>" and month(created)=month(now()) and year(created)=year(now())", "M-1"=>" and month(created)=month(subdate(now(),INTERVAL 1 MONTH)) and year(created)=year(subdate(now(),INTERVAL 1 MONTH))", "M-2"=>" and month(created)=month(subdate(now(),INTERVAL 2 MONTH)) and year(created)=year(subdate(now(),INTERVAL 2 MONTH))", "T"=>" and quarter(created)=quarter(now()) and year(created)=year(now())", "T-1"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 1 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 1 QUARTER))", "T-2"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 2 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 2 QUARTER))", "T-3"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 3 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 3 QUARTER))", "A"=>" and year(created)=year(now())", "A-1"=>" and year(created)=year(subdate(now(),INTERVAL 1 YEAR))", "A-2"=>" and year(created)=year(subdate(now(),INTERVAL 2 YEAR))" );
Comment faire pour ne pas avoir à définir mon tableau dans chaque fonction mais de manière générale à ma classe php
J'ai essayé ceci mais je récupère null dans mon affichage de page.
<?php class MyLib_Util { var $where=array( "J"=>" and created=now()", "J-1"=>" and created=subdate(now(),INTERVAL 1 DAY)", "S"=>" and week(created)=week(now()) and year(created)=year(now())", "S-1"=>" and week(created)=week(subdate(now(),INTERVAL 1 WEEK)) and year(created)=year(subdate(now(),INTERVAL 1 WEEK))", "M"=>" and month(created)=month(now()) and year(created)=year(now())", "M-1"=>" and month(created)=month(subdate(now(),INTERVAL 1 MONTH)) and year(created)=year(subdate(now(),INTERVAL 1 MONTH))", "M-2"=>" and month(created)=month(subdate(now(),INTERVAL 2 MONTH)) and year(created)=year(subdate(now(),INTERVAL 2 MONTH))", "T"=>" and quarter(created)=quarter(now()) and year(created)=year(now())", "T-1"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 1 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 1 QUARTER))", "T-2"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 2 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 2 QUARTER))", "T-3"=>" and quarter(created)=quarter(subdate(now(),INTERVAL 3 QUARTER)) and year(created)=year(subdate(now(),INTERVAL 3 QUARTER))", "A"=>" and year(created)=year(now())", "A-1"=>" and year(created)=year(subdate(now(),INTERVAL 1 YEAR))", "A-2"=>" and year(created)=year(subdate(now(),INTERVAL 2 YEAR))" ); public function comptaentres($type){ Zend_Debug::dump($this->where[$type]); }
Hors ligne
Si tu appelles ta méthode en statique, tu ne peux pas utiliser $this->... $this représente une instance de classe (un objet) et dans ton cas, comme tu appelles une méthode de classe, il n'y a pas d'instance... (regarde l'exmple ça sera plus clair que l'explication )
Il faut dans ce cas faire :
<?php class MyLib_Util { private static $where=array([...]); public static function comptaentres($type){ Zend_Debug::dump(self::$where[$type]); } }
tu appelles ta fonction avec
MyLib_Util::comptaentres($type);
A+, Philippe
Hors ligne
merci philippe pour tes réponses rapides et claires.
disons que bien que j'ai une formation en développement orienté web j'ai jamais eu de grosse information sur le développement objet sauf depuis que je me suis mis à Zend. J'ai fini l'école mais je crois que j'ai jamais autant appris que depuis que je bosse lol. Merci à toute la communauté Zend quand m^me !!!
Hors ligne