Equivalent de $plxShow->artChapo(); sans l'affichage

Bonjour,

Toutes les fonctions de $plxShow sont très bien faites. Mais je ne comprend pas pourquoi il n'y a pas une classe donnant les mêmes fonctions sans affichage du résultat.

Comment avoir simplement le contenu du Chapo en PHP sans l'afficher, afin de pouvoir retraiter ce chapo (garder un nombre de mots voulu, supprimer la mise en forme...) avant d'afficher le résultat soi-même par un echo() ?

Je suis sûr qu'il y a moyen en rentrant dans le code de PluXml, mais pourquoi n'y a-t-il pas l'équivalent de $plxShow qui a l'avantage d'être très simple ?

Réponses

  • tente dans artice.php
    [== PHP ==]
    print_r($plxShow->plxMotor->plxRecord_arts);
    $chapo = plxUtils::strCheck($plxShow->plxMotor->plxRecord_arts->f('chapo'));
    
  • Merci !
  • Généralement, il suffit de regarder comment est écrite la méthode de $plxShow et de ne prendre que ce qui nous intéresse (généralement, $plxShow->plxMotor->plxRecord_(art ou cat)->f(ce que je veux)).
    En jetant un coup d'oeil au dossier lib, on apprend plein de trucs...
  • Mais il a pas spécialement tort, des fonctions qui retournent juste le contenu sans l'affichage et après, on choisit de l'afficher ou pas, ce serait pas mal du tout...
  • +10
    perso je fais ça, mais ç'est un peu lourd
    [== PHP ==]
    	ob_start();
    	$plxShow->artChapo();
    	$chapo = ob_get_clean();
    
    
    ce serait tellement plus simple, et lisible
    $chapo = $plxShow->artChapo();
    ou au choix
    echo $plxShow->artChapo();
    mais ça fait beaucoup de code à modifier et des thèmes existants incompatibles :(
  • SuricatSuricat Member
    avril 2014 modifié
    Bonjour,

    En fait, il pourrait y avoir $plxGet qui ferait la même chose que $plxShow mais sans affichage.
    Dans le code de PluXml, chaque fonction de $plxShow peut alors être simplement réécrite :
    [== PHP ==]
    class $plxShow {
    public function maFonction() {
    		echo $this->plxGet->maFonction();
    	}
    }
    
    class $plxGet {
    public function maFonction() {
    		Ancien code présent dans $plxShow maFonction(), mais sans echo()
    	}
    }
    

    Mais finallement, si je voulais utiliser $plxShow sans affichage, c'est surtout parceque $plxShow est bien documenté dans le Wiki.
    Si $plxShow->plxMotor->plxRecord_(art ou cat)->f était aussi bien documenté, je n'aurais pas forcément eu ce besoin.
Connectez-vous ou Inscrivez-vous pour répondre.