Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 20h52   #1
Membre éclairé
 
Inscription : juin 2007
Messages : 337
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 337
Points : 393
Points : 393
Par défaut Comprendre une syntaxe

Bonsoir,

alors j'ai une question assez simple illustré par cet exemple

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Test
{
    private $foo;
 
    public function __construct($foo)
    {
        $this->fo  = $foo;
    }
 
    private function bars()
    {
        echo 'Accès à la méthode privée.';
    }
 
    public function baz(Test $other)
    {
        // Nous pouvons modifier la propriété privée :
        $other->fo  = 'Bonjour';
        var_dump($other->fo );
 
        // Nous pouvons également appeler la méthode privée :
        $other->bars();
    }
}
 
$test = new Test('test');
 
$test->baz(new Test('other'));
la question étant de connaitre la plu valu cette ligne

Code :
    public function baz(Test $other)
grosso modo je comprends pas l'utilité de "déclarer" Test


merci à vous
__________________
Conception / Dev
ascito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 21h42   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

C'est très utile quand tu travailles sur des arborescences. Une feuille qui rattache une feuille qui rattache une feuille... Tu forces le type de feuille que tu veux avoir.
L'accès aux membres privés est très pratique dans ce cas de figure car cela permet d'optimiser les algorithmes de certains traitements.
Bref ça a une utilité mais il est clair que l'on ne s'en sert pas tous les jours non plus.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 22h39   #3
Membre éclairé
 
Inscription : juin 2007
Messages : 337
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 337
Points : 393
Points : 393
bon , les feuilles dans les feuilles me font penser à cela :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class TestVac
{
     public function frigo()
    {
        echo "<br/>TestVac</br/>";
    }
 
}
class TestExt extends TestVac
{
 
    public function kitchen()
    {
        echo "<br/>TestExt</br/>";
 
    }
 
}
class Test 
{
    public function baz(TestExt $other)
    {
       $other->kitchen();
       $other->frigo();
    }
}
$test = new Test(); 
$test->baz(new TestExt());
et donc en effet si c'est le but, je comprends un peu mieux,

soit, la fonction baz n'a qu'une seul vocation , créer un nouvel objet nommer $other hérité pour cet exemple de la class TestExt, et ne pourra rien faire d'autre...

interpelant.

concrètement, cela permet de passer outre une syntaxe tel que

Code :
class Test extends TestVac,MonMagazin
mais de pouvoir s'en servir dans les mêmes conditions, si j'ai bien compris..

merci, de vos appuis
__________________
Conception / Dev
ascito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h38.


 
 
 
 
Partenaires

Hébergement Web