Puis afficher une seule variable à l'intérieur d'une fonction ?

Discussion dans 'Administration d'un site Web' créé par Alorsladaccord, 14 Novembre 2015.

  1. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Bonjour,

    Je me pose la question suivante : J'ai une fonction qui affiche 3 variables. Lorsque j'appelle la fonction, les 3 variables s'affichent. Ok.

    Maintenant si à un endroit dans la page, je ne veux afficher qu'une seule de ces 3 variables, est-ce possible ?
    Ou alors, dois-je créer une fonction spécifique pour chaque variable que je veux afficher indépendamment des autres ?

    Par exemple :
    Code:
    public function afficher() 
    {
    echo $this->_titre;
    echo $this->_motClef;
    echo $this->_contenu;
    }
    
    $def = new Definition();
    $def->afficher();
    
    Ceci va afficher la valeur des variables $titre, $motClef et $contenu.
    Mais si à un endroit de la page, je ne veux afficher que $contenu, est-ce possible ? Ou suis-je obligé de créer une fonction spécifique qui ne va afficher que cette variable ?


    Merci d'avance pour vos réponses :!:
     
  2. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    soit tu crées une autre fonction, soit tu ajoutes des paramètres à la fonction pour ne pas tout afficher quand les paramètres n'ont pas leur valeur par défaut.
     
  3. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Ici, ce ne sont pas des fonctions mais des méthodes de classes.
    Je te dirais que le mieux est de faire des accesseurs.
    Exemple :
    PHP:
    <span class="syntaxdefault"><br />public function getTitre</span><span class="syntaxkeyword">()<br />{<br /></span><span class="syntaxdefault">    return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">_titre</span><span class="syntaxkeyword">;<br />}<br /><br /></span><span class="syntaxdefault">$def </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new Definition</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">echo $def</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getTitre</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault"></span>
     
  4. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Bonjour à vous,

    Que dire, sinon merci pour vos réponses, simples et concises.
    Bon, pas possible de récupérer une seule variable donc, je prends note.

    Accesseur, accesseur... Ok ok... Mais ton compte n'est pas très différent du miens, Blount. Alors pourquoi le désigner autrement ?
    Puis y'a quand même écrit public function, alors dire que "c'est pas une fonction"...

    Non je sais, je chipote... Mais je n'ai encore jamais utilisé les fonctions et la POO, je m'étais contenté d'un site vaste mais simple, en empilant des requêtes sql et des boucles while re-repétées partout dans le code...
     
  5. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 192
    J'aime reçus:
    1
    Car dans un objet (correction > une classe) on appel ça une méthode.
     
  6. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 368
    J'aime reçus:
    2
    En fait, la question n'est pas "POO ou pas", mais la façon de structurer son code.

    En reprenant ton exemple de "boucles while re répétées dans le code", il suffit dans ce cas de faire une fonction qui :

    1- récupère les résultats d'une requête faite ailleurs
    2- les parcourt, éventuellement avec des options pour des formatages différents
    3- retourne un résultat, qui pourra être ensuite affiché

    Que tu fasses cela en procédural, avec des fonctions, ou en orienté objet, avec des classes et des méthodes, le résultat est le même.
     
  7. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Vouaip,

    Non mais faut que j'apprenne l'Objet de toute façon, c'est intéressant comme manière de programmer. CA fait un chouette complément intellectuel avec les bases de données.

    Bien, bah, merci encore pour vos réponses, comme toujours.

    Et bonne journée :)
     
  8. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Tiens, une question vite fait : une fonction à l'intérieur d'une classe est une méthode. Bon.
    Lorsque je crée un objet, je peux lui appliquer une méthode de la classe dont il est issu. Bon.

    Mais puis-je appliquer à cet objet, une fonction extérieure à sa classe ? Si oui et si ce n'est pas trop long, à quoi ressemble la formule ?

    Merci d'avance.
     
  9. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 192
    J'aime reçus:
    1
    Ton objet peut être un paramètre d'une fonction classique oui f($objet); .
     
  10. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Salut zeb,


    Ce n'est pas le fonction qui est un paramètre de l'objet, plutôt ? Dans la fonction, on passe des variables en paramètre, mais pas tout un objet. Ce sont les variables de l'objet qui sont paramétrées par les fonctions.
     
  11. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 368
    J'aime reçus:
    2
    Non, jamais. Une fonction peut être appliquée à un objet, ça s'appelle une méthode

    On peut, si

    Cette phrase de veut rien dire "informatiquement". Ce sont les propriétés de l'objet qui sont manipulées par les méthodes.
     
  12. Alorsladaccord
    Alorsladaccord WRInaute occasionnel
    Inscrit:
    30 Juillet 2014
    Messages:
    485
    J'aime reçus:
    0
    Salut Marie-Aude

    C'est bizarre. Dans ce cas, la fonction s'applique à toutes les variables de l'objet ?
    Mais si les variables sont de type différent (numérique ou textuel), que se passe-t'il ?
     
  13. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 192
    J'aime reçus:
    1
    A toutes les propriétés de l'objet, non, c'est toi qui décide dans ta fonction ce que tu souhaite faire.
    Le fait de passer un objet en paramètre d'une fonction n'implique pas d'appliquer une traitement ou un autre, c'est toi qui décide et bien sur le traitement appliqué doit correspondre au type de données que ton objet contiens.
     
  14. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 368
    J'aime reçus:
    2
    Il est souvent plus pratique de charger un objet au départ, dans une fonction complexe, et ensuite de sélectionner les propriétés (pas les variables, utilise le bon vocabulaire si tu veux comprendre les tutos et être compris sur les forums) qu'on veut modifier / utiliser. C'est meilleur en terme de perf que de faire plusieurs appel pour charger chaque information séparément
     
Chargement...
Similar Threads - afficher seule variable Forum Date
Balise H1 modifiée pour s'afficher sur une seule ligne Référencement Google 3 Septembre 2017
Afficher un lien dans un footer juste sur une seule page Développement d'un site Web ou d'une appli mobile 3 Octobre 2014
Comment faire pour afficher seulement titres et descriptions en français si sur Google FR? Crawl et indexation Google, sitemaps 20 Octobre 2011
Afficher une seule partie d'une page dans une frame Développement d'un site Web ou d'une appli mobile 28 Mai 2011
Afficher des données avec une seule requete Développement d'un site Web ou d'une appli mobile 13 Mai 2010
Ne pas afficher certaines conversions dans Google Ads AdWords 8 Juillet 2020
Afficher les produits suivants en ajax Développement d'un site Web ou d'une appli mobile 12 Mai 2020
Google a-t-il le droit d'afficher directement les informations des sites sans leur accord ? Droit du web (juridique, fiscalité...) 21 Février 2020
Afficher un champ dans la page profil Wordpress Développement d'un site Web ou d'une appli mobile 17 Février 2020
API pour afficher les avis Google sur son site Google : l'entreprise, les sites web, les services 10 Novembre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice