Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-02-2010 12:05:13

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

[resolu]où stocker des fonctions génériques

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

 

#2 05-02-2010 13:14:34

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [resolu]où stocker des fonctions génériques

Dans mes codes, j'ai une classe Kitpages_Util dans laquelle je mets des fonctions statiques. Je les appelle ensuite par

Code:

Kitpages_Util::mkdirr($dir);

Comme ça tout est réuni dans une classe et on sait où le mettre smile

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 05-02-2010 13:55:15

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [resolu]où stocker des fonctions génériques

merci pour l'information par contre où ce situe cette classe, dans les model, les controller, les vues, .... ?

Hors ligne

 

#4 05-02-2010 14:05:32

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [resolu]où stocker des fonctions génériques

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 05-02-2010 14:08:40

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [resolu]où stocker des fonctions génériques

ah oui ok
ben merci pour ta réponse

Hors ligne

 

#6 08-02-2010 10:19:05

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [resolu]où stocker des fonctions génériques

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

Code:

$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.

Code:

<?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

 

#7 08-02-2010 11:04:49

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [resolu]où stocker des fonctions génériques

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 smile )

Il faut dans ce cas faire :

Code:

<?php
class MyLib_Util
{
    private static $where=array([...]);

    public static function comptaentres($type){
        Zend_Debug::dump(self::$where[$type]);
    }
}

tu appelles ta fonction avec

Code:

MyLib_Util::comptaentres($type);

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#8 08-02-2010 11:24:46

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: [resolu]où stocker des fonctions génériques

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages