Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
480 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Class et function

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Class et function

n°1983348
edaz51
Posté le 12-04-2010 à 20:39:03  profilanswer
 

Bonsoir,
 
Comment interpréter FolderSet::removeDir ?
 

Code :
  1. class FolderSet
  2. {
  3. ...
  4. function removeDir($PathName)
  5. {
  6. if(is_dir($PathName))
  7. {
  8.  $sHandle = opendir($PathName);
  9.  if(false !== $sHandle)
  10.  {
  11.   while($oName = readdir($sHandle))
  12.   {
  13.    if('.' !== $oName && '..' !== $oName)
  14.    {
  15.     if(is_dir($PathName . '/' . $oName))
  16.     {
  17.      FolderSet::removeDir($PathName . '/' . $sName);
  18.     }
  19.     else if(file_exists($PathName . '/' . $oName))
  20.     {
  21.      @unlink($PathName . '/' . $oName);
  22.     }
  23.    }
  24.   }
  25.   closedir($sHandle);
  26.   @rmdir($PathName);
  27.  }
  28. }
  29. }


 
Merci pour votre aide.


Message édité par edaz51 le 14-04-2010 à 12:11:10
mood
Publicité
Posté le 12-04-2010 à 20:39:03  profilanswer
 

n°1983349
flo850
moi je
Posté le 12-04-2010 à 20:45:19  profilanswer
 

ce code vient d'où ?
il est absolument horrible

n°1983350
edaz51
Posté le 12-04-2010 à 20:53:15  profilanswer
 

Il est extrait d'un groupware (solution opensource).

n°1983353
flo850
moi je
Posté le 12-04-2010 à 21:12:50  profilanswer
 

tu es sur que tu n'en pas enlevé un bout ?


Message édité par flo850 le 12-04-2010 à 21:15:17
n°1983355
edaz51
Posté le 12-04-2010 à 21:37:22  profilanswer
 

Oui désolé, le nom de la fonction removeDir(), je viens d'éditer mon premier post.


Message édité par edaz51 le 12-04-2010 à 21:37:42
n°1983356
flo850
moi je
Posté le 12-04-2010 à 21:39:18  profilanswer
 

tout de suite c'est plus lisible
 
c'est une fonction d'effacement recursif : si $path est un fichier il l'efface, si c'est un dossier, il en efface le contenu avant de l'effacer

n°1983359
edaz51
Posté le 12-04-2010 à 21:49:45  profilanswer
 

Il repasse donc dans la fonction.
Pourquoi est-on obligé de faire référénce à la classe FolderSet:: avec cette syntaxe particulière ?


Message édité par edaz51 le 12-04-2010 à 21:49:57
n°1983361
esox_ch
Posté le 12-04-2010 à 21:56:10  profilanswer
 

Il est pas obliger, c'est juste que le code est orienté objet :o
FolderSet suivi de ":" signifie que c'est un appel static, et non pas par rapport à une instance particulière de la classe


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1983363
flo850
moi je
Posté le 12-04-2010 à 21:57:28  profilanswer
 

ça signifie qu'on appelle la fonction statique qui est situé dans la classe FolderSet

n°1983365
edaz51
Posté le 12-04-2010 à 22:08:51  profilanswer
 

Merci beaucoup flo850 et esox_ch pour votre aide.
 
Je viens d'apprendre que cela s'appelle un opérateur de résolution de portée qui permet d'appeler la fonction correspondante dans la classe définie.


Message édité par edaz51 le 12-04-2010 à 22:11:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Class et function

 

Sujets relatifs
[résolu] Nom de variable dans la variable de $_session[Résolu] Récupérer une information avec un parser
[RESOLU] Requete SQL avec variable dynamique sous MS-DOS[Resolu] Détail d'un fichier sous DOS
Macro pour formater un fichier texte ou excel [Résolu][Résolu] Strings remplacées par "p"
Casse-tête... Class Library C++/CLI vers C#?[resolu]Requête sortant les produits du même prix à +/- 10%
[RESOLU] Fatal error: main() [function.main] - class php5 
Plus de sujets relatifs à : [Résolu] Class et function


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR