Culture générale php ... signification de ->

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Culture générale php ... signification de ->

Re: Culture générale php ... signification de ->

par sylvaing26 » 10 sept. 2009, 14:01

J'ai le cerveau qui fume, je sais pas si j'arriverai à m'en servir ... #-o
Vas-y doucement :) Si il y a quelques heures tu ne connaissais pas la signification de " ->", faut pas demander l'impossible et vouloir comprendre l'intérêt et la syntaxe du mode objet en si peu de temps :)
J'imagine :wink:
En tout cas merci pour vos lumières !

Re: Culture générale php ... signification de ->

par AB » 10 sept. 2009, 02:30

J'ai le cerveau qui fume, je sais pas si j'arriverai à m'en servir ... #-o
Vas-y doucement :) Si il y a quelques heures tu ne connaissais pas la signification de " ->", faut pas demander l'impossible et vouloir comprendre l'intérêt et la syntaxe du mode objet en si peu de temps :)

Re: Culture générale php ... signification de ->

par sylvaing26 » 10 sept. 2009, 01:31

Je cerne mieux les possibilités merci beaucoup !
J'ai le cerveau qui fume, je sais pas si j'arriverai à m'en servir ... #-o

Re: Culture générale php ... signification de ->

par Ryle » 09 sept. 2009, 22:01

Pour te donner un exemple bâteau :

Supposons que j'ai un objet (une classe) Voiture. Ma voiture se caractérise par une marque, une couleur, une immatriculation, etc. (ce sont ses attributs) et par des actions comme démarrer le moteur, mettre le clignotant, freiner, etc. (ce sont ses méthodes).
class Voiture {
  public $marque;
  public $couleur;
  public $immat;

  function demarre() {
    echo 'Vrouuuummm';
  }
  function clignotant() {
    ...
  }
  function freine() {
    ...
  }
}
A partir de là, je peux travailler sur une voiture spécifique (une instance), par exemple une ferrari rouge immatriculée en italie :
$maFerrari = new Voiture();
$maFerrari->marque = 'ferrari'; 
$maFerrari->couleur = 'rouge';
...
ou une lada rose.... (ouais ben on choisit pas toujours hein ;))
$maPoubelle = new Voiture();
$maPoubelle->marque = 'lada'; 
$maPoubelle->couleur = 'rose bonbon avec des poids verts';
...

Et je peux manipuler l'un comme l'autre :
$maFerrari->demarre(); // Ma ferrari démarre dans un grand "Vrouuuummm"
$maFerrari->repeindre("noir"); // Parce qu'en noir aussi c'est classe ;p
$maPoubelle->vaALaCasse(); // Ta lada
C'est quand même beaucoup plus puissant qu'un tableau ;) Et tu peux l'adapter à tout et n'importe quoi... une classe MessageDeForum avec les attributs auteur, date, message et les méthodes poster(), editer() ; une classe Film avec un titre, un réalisateur, des méthodes projeter(), rembobiner(), etc.

Re: Culture générale php ... signification de ->

par sylvaing26 » 09 sept. 2009, 20:02

Donc en resumé, un tableau ne contient que des éléments
alors que les objets contiennent les classes avec leurs attributs c'est bien ca ?
...Si on veut.

Prend cet exemple idiot:
<?php
class classToto
{
   public $item = "Bonjour";

   public function __construct()
   {
   }
}

$arrayToto = Array("item" => "Bonjour");
$objToto = new classToto();

foreach($arrayToto as $key => $value)
{
   echo "Array : ".$key." // ".$value."<br>";
}

foreach($objToto as $key => $value)
{
   echo "Objet : ".$key." // ".$value."<br>";
}
?>
En gros une class comprend des éléments (voir les types public, protégés & privés), des fonctions
(type...), de l'héritage, etc... sans parler des valeurs static...

Les tableaux comprennent une clef & une valeur. Peuvent être multi-dimentionnels, etc...

En revanche, même différents, ils s'apparentent un peu quand on parle tri. D'ou l'éxemple vu plus haut.
Ca reste un exemple, hein, c'était juste pour démontrer cela. -je parle, en cas, biensur, d'accès public -
De mon point de vue, ils sont complémentaires. ...ils sont (si tu tiens à parler de lien), je dirais
cousin issus de germain ;)

voili, voilou...

@+ bon lecture ;)

PS: L'intérêt des class c'est aussi qu'elles peuvent être abstract... mais c'est un autre sujet ;)
Oula je suis pas assez cultivé pour comprendre ton exemple lol :lol: parce que les "as", "foreach" ... j'e suis pas encore à ce stade lol

Re: Culture générale php ... signification de ->

par FuZZyLine » 09 sept. 2009, 19:48

complémentaires signifie qu'ils œuvrent dans le même but, mais de manière différente.
Hors, la programmation orientée objet est totalement un autre concept.
Bien, si tu veux mais moi je les considère complémentaires.
>Sans objet, je ne ferais assurément pas ce que je fais aujourd'hui
>Sans tableau... j'en parle pas lol

Associer tableaux et objets dans un projet c'est bien mieux (s'entend, c'est ma façon de voir;)

Sur ce, je clos la dessus ca part un brin troll lol

@+ ;)

Re: Culture générale php ... signification de ->

par zeus » 09 sept. 2009, 19:41

complémentaires signifie qu'ils œuvrent dans le même but, mais de manière différente.
Hors, la programmation orientée objet est totalement un autre concept.

Re: Culture générale php ... signification de ->

par FuZZyLine » 09 sept. 2009, 19:29

Salut,
FuZZyLine, j'avoue avoir du mal à te suivre :?
Dans ton esprit, les classes et les tableaux ont une utilité similaire ?
Gni? Euh, complémentaires pas similaires :-)

Re: Culture générale php ... signification de ->

par zeus » 09 sept. 2009, 19:17

FuZZyLine, j'avoue avoir du mal à te suivre :?

Dans ton esprit, les classes et les tableaux ont une utilité similaire ?

Re: Culture générale php ... signification de ->

par FuZZyLine » 09 sept. 2009, 19:14

Donc en resumé, un tableau ne contient que des éléments
alors que les objets contiennent les classes avec leurs attributs c'est bien ca ?
...Si on veut.

Prend cet exemple idiot:
<?php
class classToto
{
   public $item = "Bonjour";

   public function __construct()
   {
   }
}

$arrayToto = Array("item" => "Bonjour");
$objToto = new classToto();

foreach($arrayToto as $key => $value)
{
   echo "Array : ".$key." // ".$value."<br>";
}

foreach($objToto as $key => $value)
{
   echo "Objet : ".$key." // ".$value."<br>";
}
?>
En gros une class comprend des éléments (voir les types public, protégés & privés), des fonctions
(type...), de l'héritage, etc... sans parler des valeurs static...

Les tableaux comprennent une clef & une valeur. Peuvent être multi-dimentionnels, etc...

En revanche, même différents, ils s'apparentent un peu quand on parle tri. D'ou l'éxemple vu plus haut.
Ca reste un exemple, hein, c'était juste pour démontrer cela. -je parle, en cas, biensur, d'accès public -
De mon point de vue, ils sont complémentaires. ...ils sont (si tu tiens à parler de lien), je dirais
cousin issus de germain ;)

voili, voilou...

@+ bon lecture ;)

PS: L'intérêt des class c'est aussi qu'elles peuvent être abstract... mais c'est un autre sujet ;)

Re: Culture générale php ... signification de ->

par thehawk » 09 sept. 2009, 17:06

Je te conseil ce lien : http://hdd34.developpez.com/cours/artpoo/

Bye Hawk (pas tapez plzzzz :D)

Re: Culture générale php ... signification de ->

par sylvaing26 » 09 sept. 2009, 17:02

Donc en resumé, un tableau ne contient que des éléments
alors que les objets contiennent les classes avec leurs attributs c'est bien ca ?

Re: Culture générale php ... signification de ->

par zeus » 09 sept. 2009, 14:43

Alors, la syntaxe que tu utilises, bien que syntaxiquement valide, est assez mauvaise.

Le principe de la notion d'objet est de définir une classe, avec ses attributs et ces méthodes, et la flèche (->) permet d'accéder à ces données définie auparavant.
Donc, il ne faut pas comparer les objets et les tableaux pour comprendre l'intérêt de l'objet.

Re: Culture générale php ... signification de ->

par FuZZyLine » 09 sept. 2009, 14:29

Re,
Me revoici de ma lecture
// Définition des attributs de la personne 4  
$personne4->nom = 'Martin';  
$personne4->prenom = 'Pierre';  
$personne4->dateDeNaissance = '23-05-1993';  
$personne4->taille = '155';  
$personne4->sexe = 'M';
Cela fonctionne une peu comme un tableau en fait ?
Tout juste... 'fin, presque.

Tu accèdes a un élément d'un tableau par des crochets
Tu accèdes à un élément objet par ->

Mais effectivement ca y ressemble beaucoup.
Ne serait-ce que dans les fonctions de tris etc...

@+ ;)

PS: Tu peux aussi regarder du côté de la SPL Il ésiste la possibilité d'accéder à un tableau de la
même façon qu'un objet et, inversement, d'accéder à un objet comme on accède à un tableau.

EDIT: un 'tit lien en passant: http://www.php.net/manual/fr/class.arrayobject.php

Re: Culture générale php ... signification de ->

par sylvaing26 » 09 sept. 2009, 14:08

Me revoici de ma lecture
// Définition des attributs de la personne 4  
$personne4->nom = 'Martin';  
$personne4->prenom = 'Pierre';  
$personne4->dateDeNaissance = '23-05-1993';  
$personne4->taille = '155';  
$personne4->sexe = 'M';
Cela fonctionne une peu comme un tableau en fait ?