2010-07-02 3 views
1

Je lisais juste un tutoriel et ils ont mentionné que les objets dans php sont juste la meilleure façon de tableaux. Je suis confus? Quelqu'un peut-il effacer le concept pour moi. merciobjets .. meilleurs tableaux?

+0

pourriez-vous fournir le lien vers le tutoriel pour référence? Je suis en général en désaccord car le tableau fournit une utilité pour un ensemble de besoins et d'objets pour un autre, mais peut-être que certains contextes me donneront une meilleure idée de la mentalité des auteurs. – Gabriel

+0

http://www.weberdev.com/ViewArticle/PHP-Classes-And-Objects%3A-A-Guide-To-Development – Autolycus

+0

en voici un autre ... différent de ce que je lisais mais confirmant mes doutes http : //www.webmaster-source.com/2009/08/20/php-stdclass-storing-data-object-instead-array/ – Autolycus

Répondre

2

C'était plus ou moins vrai pour PHP 4, où il n'y avait pas d'encapsulation réelle. En fait, les objets offrent des avantages sur simple tableau:

  • Encapsulation (private et protected membres) - plus facile à préserver invariants. Héritage - un type hérite du comportement par défaut de sa superclasse, il suffit de remplacer les parties qui diffèrent.
  • La répartition dynamique (la méthode appelée dépend du type de variable) - assure le découplage de l'interface et de l'implémentation et de l'abstraction.
  • Moins de polution espace de noms global avec des fonctions (moins contraignantes depuis l'introduction des espaces de noms en PHP 5,3)
0

J'utiliser des tableaux quand j'ai une liste du même type de données. Un groupe d'entiers, un groupe de chaînes, etc. Les objets représentent quelque chose comme une personne ou une voiture. Vous pourriez dire bien alors utilisez simplement un tableau de hachage. Un tableau de hachage n'est pas très orienté objet. Si je travaille avec un tableau, je suppose que toutes les données sont liées et je peux foreach, pop, passer à travers les données. Travailler avec un objet, je l'espère, je sais qu'il représente un utilisateur, un moteur de voiture ou un ordinateur et je peux lui poser des questions.