Un coups echo un autre return

Bonjour,

Je trifouille PluXml et plus ça va et plus je me rends compte que certaines fonctions sont "bizarres". Par bizarre je pense au fonction qui un coups donne pour résultat un echo, par exemple :
public function staticUrl($type='relatif') {

                # Recupération ID URL
                $staticId = $this->staticId();
                $staticIdFill = str_pad($staticId,3,'0',STR_PAD_LEFT);
                if(!empty($staticId) AND isset($this->plxMotor->aStats[ $staticIdFill ]))
                        echo $this->plxMotor->urlRewrite('?static'.$staticId.'/'.$this->plxMotor->aStats[ $staticIdFill ]['url']);
        }
Et d'autre un return
public function staticId() {

                # On va verifier que la categorie existe en mode categorie
                if($this->plxMotor->mode == 'static' AND isset($this->plxMotor->aStats[ $this->plxMotor->cible ]))
                        return intval($this->plxMotor->cible);
        }
résultat il est difficile (impossible ?) de stocker le résultat de staticUrl dans une variable alors que si elle faisait :
public function staticUrl($type='relatif') {

                # Recupération ID URL
                $staticId = $this->staticId();
                $staticIdFill = str_pad($staticId,3,'0',STR_PAD_LEFT);
                if(!empty($staticId) AND isset($this->plxMotor->aStats[ $staticIdFill ]))
                        return $this->plxMotor->urlRewrite('?static'.$staticId.'/'.$this->plxMotor->aStats[ $staticIdFill ]['url']);
        }
Je pense que ça marcherait et du coups je fais ce que je veux du résultat de staticUrl.

Est-ce qu'il y a une raison à ça ou bien tout simplement moi qui ne sais pas comment faire ?

Philippe.

J'ai un string de l'array

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Il n'y a rien de choquant. Certaines fonctions sont factorisées pour éviter à réecrire du code qui doit etre (ré)utilisé dans plusieurs autres endroits ou fonctions.

    La class.plx.show.php fait essentiellement des echo, pour simplifier et alléger la syntaxe dans l'appel des fonctions d'affichage dans les fichiers thèmes.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Choquant, je n'aurais été jusqu'à dire ça ;)
    C'est juste étonnant, dans le deuxième exemple j'ai remplacé le echo par un return et du coups du côté de mon code peur faire :
    $url = $plxShow->staticUrl();
    (...)
    Traitement sur la variable $url
    (...)
    echo $url;
    
    Ou directement
    echo $plxShow->staticUrl();
    
    Alors qu'actuellement il est impossible de stocker staticUrl dans une variable je suis obliger de re-écrire staticUrl, le but d'un fonction n'est t'il pas qu'elle soit re-utilisable à volonté ?

    J'ai un string de l'array

Connectez-vous ou Inscrivez-vous pour répondre.