<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://methylbro.titaxium.org/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Méthylbro - Tag - stylo</title>
  <link>http://methylbro.titaxium.org/</link>
  <atom:link href="http://methylbro.titaxium.org/feed/tag/stylo/rss2" rel="self" type="application/rss+xml"/>
  <description>Divide ut imperes</description>
  <language>fr</language>
  <pubDate>Wed, 12 Nov 2008 19:09:26 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Introduction à la POO avec PHP</title>
    <link>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP</link>
    <guid isPermaLink="false">urn:md5:c5eea17b8ef7cdef0c633ac759287cde</guid>
    <pubDate>Mon, 14 Apr 2008 06:00:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>class</category><category>classe</category><category>fonction</category><category>objet</category><category>php</category><category>POO</category><category>procédure</category><category>stylo</category>    
    <description>&lt;p&gt;Depuis sa version 4 ; PHP intègre les concepts de &lt;strong&gt;Programmation Orienté Objet&lt;/strong&gt;. Très à la mode ; cette façon de programmer vous sera très utile. Néanmoins ; elle introduit foule de nouveaux concepts à nos méthodes de développement plus classique.&lt;/p&gt;
&lt;p&gt;Il existe beaucoup d’articles et de tutoriel concernant la POO. Mais dans la plupart des cas ; ces articles sont écrits avec des exemples en C++ ou en Java. &lt;br /&gt;Et encore trop peu avec des illustrations en PHP.&lt;/p&gt;
&lt;p&gt;Cette semaine ; à l’occasion de la&amp;nbsp;&lt;a href=&quot;http://www.titaxium.com/post/2008/04/13/Resurrection&quot; hreflang=&quot;fr&quot;&gt;sortie de la version 5&lt;/a&gt; de &lt;a href=&quot;http://www.titaxium.com/&quot; hreflang=&quot;fr&quot;&gt;TitaXium&amp;nbsp;&lt;/a&gt;; je vous propose une série de 6 articles introduisant la &lt;strong&gt;Programmation Orienté Objet&lt;/strong&gt; avec des exemples en PHP.&lt;/p&gt;
&lt;p&gt;Ainsi&amp;nbsp;; en 6 jours&amp;nbsp;; j’espère faire découvrir à ce qui ne le connaissent pas encore&amp;nbsp;; le monde des &lt;strong&gt;classes&lt;/strong&gt;&amp;nbsp;; des &lt;strong&gt;méthodes&lt;/strong&gt; et des &lt;strong&gt;objets&lt;/strong&gt;. Et d’ici à ce week-end&amp;nbsp;; vous serez sans doutes à même d’écrire vous-même vos propres classes&amp;nbsp;!&lt;/p&gt;    &lt;h1&gt;Introduction&lt;/h1&gt;
&lt;h2&gt;Prés requis&lt;/h2&gt;
&lt;p&gt;Avant d’entrer dans le vif du sujet ; je déconseille cet article à toutes les personnes ayant un niveau de débutant en développement.&lt;/p&gt;
&lt;p&gt;Cet article s’adresse à des développeurs PHP confirmés ; qui ont de l’expérience. Pour comprendre cet article ; il vous faudra être à l’aise avec tous les outils utilisés dans les langages procéduraux ; et plus particulièrement en PHP.&lt;/p&gt;
&lt;p&gt;De plus ; cet article n’est qu’une introduction. Une première étape dans la compréhension de la POO.&lt;/p&gt;
&lt;p&gt;Nous ne traiterons donc pas de concepts avancés comme par exemple l’héritage ou les design pattern.&lt;/p&gt;
&lt;h2&gt;Comparaison avec un développement procédural&lt;/h2&gt;
&lt;p&gt;En développement classique ; vous connaissez déjà les &lt;strong&gt;types de variable&lt;/strong&gt; les plus courant. Entiers, réels, Tableaux, Chaines de caractères, booléen … Tout ca n’a plus de secrets pour vous.&lt;/p&gt;
&lt;p&gt;Vous avez aussi l’habitude de réunir vos traitements récurrents au sein de &lt;strong&gt;procédures&lt;/strong&gt; ou de &lt;strong&gt;fonctions&lt;/strong&gt;. C’est ce que nous faisons tous avec nos db_connect() ou encore les afficher_machin($truc).&lt;/p&gt;
&lt;p&gt;Pourtant ; la &lt;strong&gt;POO&lt;/strong&gt; (&lt;em&gt;Programmation Orienté Objet&lt;/em&gt;) est un terme qui vous parait obscur et barbare. Vous en entendez parler depuis des années sans trop savoir ce qui se cache derrière. &lt;/p&gt;
&lt;p&gt;Imaginez un instant ; qu’en plus des types courant que nous avons cité ci-dessus ; vous puissiez vous même définir vos propres &lt;strong&gt;types&lt;/strong&gt; de valeurs. Avec des comportements et des &lt;strong&gt;structures&lt;/strong&gt; qui leur sont propre. Imaginez vos variables comme des &lt;strong&gt;entités&lt;/strong&gt; ; des individus contenant des informations et pouvant effectuer des traitements divers sur celles-ci.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Vous ne voyez toujours pas ou je veux en venir ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si on prend une variable &lt;strong&gt;simple&lt;/strong&gt; ; un entier par exemple ; cette variable peut contenir une &lt;strong&gt;valeur&lt;/strong&gt;. Et sur cette valeur je peux effectuer des &lt;strong&gt;traitements&lt;/strong&gt; (l’additionner ; la comparer ; la diviser etc). En théorie objet ; toutes ces &lt;strong&gt;entités&lt;/strong&gt; que nous utilisons ; nous appelons cela des &lt;strong&gt;&lt;ins&gt;objets&lt;/ins&gt;&lt;/strong&gt; (ou des &lt;strong&gt;&lt;ins&gt;instances de classe&lt;/ins&gt;&lt;/strong&gt;). Et ces traitements ce sont des &lt;strong&gt;&lt;ins&gt;méthodes&lt;/ins&gt;&lt;/strong&gt;. Mon entier sera donc un objet ; sur lequel je pourrais appliquer les méthodes d’addition ; de comparaison ; de division etc.&lt;/p&gt;
&lt;p&gt;En plus des objets simple que nous connaissons en développement procédural classique ; nous pouvons donc définir de nouveaux objets. Avec de nouvelles &lt;strong&gt;méthodes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Vous verrez que ce concept d’objets et plus &lt;strong&gt;naturel&lt;/strong&gt; qu’il n’y parait de prime abord. Car tout ce qui nous entoure n’est qu’objets ! Le clavier et la souris que vous avez sous votre nez sont des objets. &lt;br /&gt;Qui contiennent des valeurs et sur lequel vous appliquez des méthodes.&lt;/p&gt;
&lt;p&gt;Par exemple ; votre souris est un objet. Qui contient les valeurs x et y (pour connaitre sa position) et sur lequel vous pouvez appliquer les méthodes deplacer(), click_droit(), click_gauche() …&lt;/p&gt;
&lt;h2&gt;Exemple employé&lt;/h2&gt;
&lt;p&gt;Pour illustrer mon propos ; je vais utiliser un exemple très simple. Et très commun.&lt;/p&gt;
&lt;p&gt;Prenez un stylo. Un de ces stylos à bille commerciaux que l’on trouve n’importe où. Il s’agit bien d’un objet. Un objet que vous pouvez facilement synthétiser le fonctionnement en POO.&lt;/p&gt;
&lt;p&gt;Que peut-on faire avec un stylo ou, quelles seront les &lt;strong&gt;méthodes&lt;/strong&gt; de notre objet ? Exactement ce que vous faites avec un stylo traditionnel. Ecrire, cliquer sur ses fesses pour faire apparaitre ou disparaitre la mine ; ou encore observer le niveau de sa réserve d’encre. Et bien ce sera très exactement les méthodes que nous allons retrouver dans notre objet.&lt;/p&gt;
&lt;p&gt;Quelles sont les &lt;strong&gt;propriétés&lt;/strong&gt; que possèdes un stylo ? Quels sont les &lt;strong&gt;attributs&lt;/strong&gt; qui font de lui qu’il est différent d’un autre stylo ? Quelles valeurs vont être contenues notre stylo ? Ici nous nous posons la question des valeurs qui seront attachés à chacun de nos stylos.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2&quot; hreflang=&quot;fr&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/atom/comments/49</wfw:commentRss>
      </item>
    
</channel>
</rss>