Bonjour / Bonsoir à tous !
On va commencer simple aujourd'hui, Un petit tuto à l'arrache pour utiliser les classes en PHP, Ce qui peux s'avérer très utile pour des fonctions complexes qu'on utilise souvent, Ou, Des fonctions qu'on a la flemme d'écrire.
Pour ce tuto, Nous aurons besoin de 2 fichiers.
Index.php qui contiendra le code "Normal"
class.php qui contiendra les class.
:?: Tout d'abord, Les Classes, Kézako ?
:!: Les classes sont un ensembles de fonctions ou de variables organisées dans une seule variable permettant la POO
( http://fr.wikipedia.org/wiki/Programmat ... ntee_objet )
:?: Comment se présente une classe?
:!:
<span class="syntaxdefault">class myclass </span><span class="syntaxcomment">// Déclaration de la classe<br /></span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// Début<br /></span><span class="syntaxdefault"> <br /> <br /> <br /></span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// Fin </span><span class="syntaxdefault"></span>
Pour appeler une classe, tout d'abord, Il faut inclure le fichier qui servira a stocker les classes.
<span class="syntaxdefault"></span><span class="syntaxcomment">// Fichier index.php<br /></span><span class="syntaxkeyword">include(</span><span class="syntaxstring">'class.php'</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>
Pour déclarer une fonction dans une classe, C'est simple, Il suffit de la crée entre { et } dans la classe :
<span class="syntaxdefault">class myclass<br /></span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> <br /> function test</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> <br /> echo </span><span class="syntaxstring">'It works'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> <br /> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> <br /></span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span>
Dans le fichier index.php, Il suffit de créer la classe et d'appeler la fonction.
<span class="syntaxdefault"></span><span class="syntaxcomment">//fichier index.php<br /></span><span class="syntaxdefault">include </span><span class="syntaxstring">'myclass.php'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$func </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new myclass</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$func</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">test</span><span class="syntaxkeyword">();</span><span class="syntaxdefault"> </span>
Exécutez le fichier "Index.php", Et, si vous avez tout bien fait, la page affichera:
Pour exemple, J'utilise une classe spéciale pour Mysql que je vous partage ...
(Elle m'est utile pour l'administration de mon site)
Cliquez pour révéler
Cliquez pour masquer
<span class="syntaxdefault">class myclass<br /></span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> function init</span><span class="syntaxkeyword">()<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> $co </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_connect</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'localhost'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'root'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">''</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> or die</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">mysql_error</span><span class="syntaxkeyword">());<br /></span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$co</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'sql'</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault"> return true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> return </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">;<br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault"> function co</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$user</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> $password </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> strtolower</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> If </span><span class="syntaxkeyword">((isset(</span><span class="syntaxdefault">$user</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 40</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> $req </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'SELECT * FROM players_stats WHERE Name="'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> Mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$user</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'"'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> $users </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$req</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> If </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$users</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> If </span><span class="syntaxkeyword">((</span><span class="syntaxdefault">$users</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Name </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $user</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$users</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Password </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> IF </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$users</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">AdminLevel </span><span class="syntaxkeyword">>=</span><span class="syntaxdefault"> 3</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//echo 'cool...';<br /></span><span class="syntaxdefault"> $_SESSION</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'user'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $users</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//echo ' AdminLevel:('.$users->AdminLevel.') ';<br /></span><span class="syntaxdefault"> return true</span><span class="syntaxkeyword">;<br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> echo</span><span class="syntaxstring">'badAdminLevel'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> exit</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> echo </span><span class="syntaxstring">'badlogin -> '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$user </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">' '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $users</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Name </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $password </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $users</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">Password</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> echo </span><span class="syntaxstring">'badloginname -> '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$user </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">' '</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> echo</span><span class="syntaxstring">'badFetch'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault"> function verify</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">// echo'Verifying...';<br /><br /></span><span class="syntaxdefault"> If </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_SESSION</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'loggued'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> $usr </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_SESSION</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'user'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault"> If </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$usr</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">AdminLevel </span><span class="syntaxkeyword">>=</span><span class="syntaxdefault"> 3</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> return true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> return false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br />}</span><span class="syntaxdefault"> </span>
Pour l'utiliser, Un simple :
<span class="syntaxdefault">$class</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">init</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'user'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'password'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$class</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verify</span><span class="syntaxkeyword">();</span><span class="syntaxdefault"> </span>
Permets de savoir si l'utilisateur est admin.
Vous l'aurez compris, pour la clarté du code, c'est la perfection assurée !
[ En cours d'écriture, Please wait... ]