Créer son site Gratuitement : Service / Outils webmaster gratuit
Mon Site Gratuit
Contactez nous
Nos partenaires
Scripts
Tutoriaux
Nos services
Forums
Accueil
ForumsPHP vis à vis Flash CS3 : Comprendre les langages
      Imprimer le sujet FAQ  M'enregistrer 
  Le monde virtuelle du flash vous réserve plein de suprise éblouissante rien que pour vous !
Animations à gogo ... Bonne visite !

PHP vis à vis Flash CS3 : Comprendre les langages

Messagede zardoz le 09 Juil 2009, 05:56



Prenez note qu'il s'agit ici du même sujet inspirer au départ par la fonction PHP, avec évidemment les mêmes résutats. Mon but étant la compréhension du script d'origine et une réadaptation en format classes des deux langages utilisés. Bref, un défi personnel de prouver que l'on peut étudier PHP et transposer nos connaissances en fichier Flash et, vice versa. Et croyez que le script de base, je l'ai compris au premier coup d'oeil. Je voyais déjà la classe en Flash et je voyais la classe en PHP.


La fonction PHP de base : de SID TRIVEDI


La fonction PHP de base est simple à comprendre : voici l'adresse »
http://www.php.net/manual/fr/language.variables.scope.php#78778

Le but de SID TRIVEDI sera d'augmenter par groupe de 24 nombres à chaque appelle de la fonction. Si vous cliquez sur l'url ici en haut vous allez mieux comprendre ses intentions de bases. Avec un peu d'imagination on peu déjà voir quelques raisons d'utilisations dans des applications concrètes.

Voici le fonctionnement de son script : En pseudo code.

Premier appel de la fonction vous aurez les nombres : De « 1 » à « 25 ».
Deuxième appel de la fonction vous aurez les nombres : De « 26 » à « 50 ».
Troisième appel de la fonction vous aurez les nombres : De « 51 » à « 75 » ect . . .

Passons aux scripts Flash CS3 AS3


Vous aurez donc deux fichiers et ce peu importe le langage utilisé, sois Flash, sois PHP. Ceci est dû au fait que nous utilisons des classes pour donnez exactement les mêmes résultats. Il y a un fichier stockeur des données et des types. Celui-ci n'est qu'un modèle, pouvant aussi rendre les résultats. C'est d'ailleurs le cas ici.

Démarche pour les scripts Flash CS3

Démarrez votre logiciel Flash CS3.
Faite : Fichier » Nouveau
Choisissez : actionScript file/fichier actionScript «« Ce sont les fichiers de classes.as
Copiez/Collez le script ici bas.

Notes : À la première ligne de code vous avez un package celui-ci est un chemin de répertoires imbriquer les uns dans les autres. Il se nomme : icom.design.communication.exercices. Préparons ces répertoires comme suit »

Faites vous un répertoire : nommer le ' icom ' et entrez à l'intérieur de ce répertoire.
À l'intérieur de ' icom ' faite un autre répertoire, nommer le ' design '. Entrez à l'intérieur de ce répertoire.
À l'intérieur de ' design ' faite un autre répertoire, nommer le ' communication '. Entrez à l'intérieur du répertoire.
À l'intérieur de ' communication ' faite un autre répertoire, nommer le ' exercices '. voilà.

Dernière étape : enregistré votre fichier ' TraceCompteur.as ' à l'intérieur du répertoire ' exercices '.

Votre fichier de classe : TraceCompteur.as. Respecter le nom du fichier et la casse.
Code: Tout sélectionner
package icom.design.communication.exercices
{
   public class TraceCompteur
   {
      public static var compteur:int = 1;
      
      public function TraceCompteur()
      {
         // .. rien
      }
      // .. Méthode « statique » afficheCompteur()
      public static function afficheCompteur()
      {
         var limite:int = compteur + 24;
         while(compteur <= limite)
         {
            trace(compteur);
            compteur = compteur + 1;
         }
         var numeroCompteur:int = compteur - 1;
         trace('Un total de « ' + numeroCompteur + ' » numéros sont afficher');
         
         return;         
      }
   }
}



Votre fichier de lancement : traceCompteur_01.fla. Placer ce fichier à coté du répertoire ' icom ',
enregistrer le à l'extérieur du package icom.design.communication.exercices.
Code: Tout sélectionner
import icom.design.communication.exercices.TraceCompteur;
/*
» Il n'y a pas d'instanciation de la classe ici.
»
» Nous appellons la méthode statique afficheCompteur()
- de cette façon : NomDeLaClasse.nomDeLaMethodeStatique().

» Les appelles de la méthode statique afficheCompteur().
» Par groupe de '24', faisant une suite à chaque appelle.
*/
TraceCompteur.afficheCompteur(); // De '1' à '25'
TraceCompteur.afficheCompteur(); // De '26' à '50'
TraceCompteur.afficheCompteur(); // De '51' à '75' ect...


Ce qu'il faut comprendre ici c'est que les propriétés statiques n'auront de sens qu'a l'intérieur de la classe qui les a définis. C'est pourquoi dans les fichiers de lancement des scripts vous n'avez pas de variable pouvant instancier la classe cibler. Voici un exemple à partir d'un fichier d'exécution .fla

Code: Tout sélectionner
import icom.design.communication.exercices.TraceCompteur;
// .
// .. Cette ligne de code pourtant standard ne fonctionnera pas
// .. Une erreur sera levé à l'exécution et/ou compilation.
// .
var tc:TraceCompteur = new TraceCompteur();
tc.afficheCompteur();


Celà est dû au fait que nous ciblons des propriétés statiques.. Dans le cas du fichier traceCompteur_01.fla, c'est un méthode statique que nous appellons. À partir du fichier de lancement, le .fla en quelque sorte, nous appellons les méthodes et propriétés statiques que de cette façon : NomDeLaClasse.nomDeLaMéthodeStatique().
Voici un exemple d'appelle de méthode statique

Code: Tout sélectionner
import icom.design.communication.exercices.TraceCompteur;
// .
// .. Aucune variable n'instancie la classe on a pas le mot clé ' new '
// .
// .. Dans le cas d'une méthode statique
// .
TraceCompteur.afficheCompteur();
// .
// .. Dans le cas d'une variable statique
// .
TraceCompteur.compteur = 12;


Évidemment ce dernier script s'exécutera parfaitement. Il n'y a pas vraiment de différence entre l'implémentation Flash vis à vis PHP. Ce dernier cependant est beaucoup plus exigant et ce, directement dans le fichier de classe. Par contre son architecture me paraît beaucoup lisible.

Passons maintenant aux scripts PHP


Faites vous un nouveau document en PHP. Assurez vous que ce fichier sois empty/vide, une feuille blanche.
Collez y le script ici bas : EchoCompteur.class.php. Placer le dans un répertoire nommer ' classes '. Sur le root.
Code: Tout sélectionner
<?php
class EchoCompteur {
     public static $compteur = 1;
     # -- Constructeur
     public function EchoCompteur()
     {
           # -- Rien
     }
     # -- Méthode static afficheCompteur()
     public static function afficheCompteur()
     {
          # -- La propriété static est toujours précéder
          # -- par le nom de la classe : EchoCompteur::$compteur.
          $limite = EchoCompteur::$compteur + 24;
          # -- Boucle while
          while(EchoCompteur::$compteur <= $limite)
          {
              echo EchoCompteur::$compteur . '-';
              EchoCompteur::$compteur = EchoCompteur::$compteur + 1;
          }
          $br = '<br />';
          $numeroCompteur = EchoCompteur::$compteur - 1;
          echo $br . "Un total de " . $numeroCompteur . " nombres sont afficher" . "<br />";

          return;
     }
}
?>


votre fichier de lancement : echoCompteur.php. Évidemment placer sur le root.
Code: Tout sélectionner
<?php
require_once('classes/EchoCompteur.class.php');
#  -- Aucune instanciation
$br = '<br />';
# -
# -- À chaque appelle de la méthode static
# -- il y a une suite logique par groupe de '24' nombres.
# -
# -- Nous appellons la méthode static comme suit,
# -- NomDeLaClasse::nomDeLa methodeStatic();
# -
EchoCompteur::afficheCompteur(); # -- De '1' à '25'
echo $br;
EchoCompteur::afficheCompteur(); # -- De '26' à '50'
echo $br;
EchoCompteur::afficheCompteur(); # -- De '51' à '75' ect...
?>


Ici aussi on lève une exception, du genre FatalError si l'on veut instancier la classe avec le mot clé ' new '.
Exemple : $ec = new EchoCompteur();
----------> $ec->afficheCompteur();
C'est une des caractéristiques des propriétés statiques.

Voici les résultats au navigateur :

1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-21-22-23-24-25-
Un total de 25 nombres sont afficher. C'est le premier appel de la méthode statique.

26-27-28-29-30-31-32-33-34-35-36-37-38-39-40-41-42-43-44-45-46-47-48-49-50-
Un total de 50 nombres sont afficher. C'est le deuxième appel de la méthode statique.

51-52-53-54-55-56-57-58-59-60-61-62-63-64-65-66-67-68-69-70-71-72-73-74-75-
Un total de 75 nombres sont afficher. C'est le troisième appel de la méthode statique.


Mot de la fin :


Quoiqu'il en soit je me suis amuser à vous rendre ce document. Certaine chose aurons quand même été plus difficile. Le fait par exemple que le programme PHP nous oblige à écrire nos propriétés statiques précédé du nom de la classe et ce directement dans le fichier de classe. Celà est dû au fait que nous défénissons nos propriétés comme membre de classe. C'est aussi possible en Flash mais pas obligatoire. Faut-il aussi comprendre que je n'ai pas la même expérience en PHP qu'en Flash. Mon but premier étant de vous démontrer qu'il est simple parfois de transposer les connaissances d'un langage à un autre. Cependant la complexité est aussi possible en programmation orienté objet. Il s'agit ici d'un simple développement d'étude et d'exercice. Cependant j'aurais beaucoup à dire sur les propriétés statiques.

Équipement utilisé :


Serveur : wamp 2.
apache : 2.2.11.
PHP : 5.2.9-2.
Logiciel : netBeans IDE 6.5. + Flash CS3.

Amicalement zardoz. ;-)
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: PHP vis à vis Flash CS3 : Comprendre les langages

Messagede Nardoum le 09 Juil 2009, 11:40

Oulaa c'est compliqué pour moi tout ça XD
Mais bravo à toi félicitations pour ce tuto' très riche, il servira à ceux qui comprennent (pas comme moi ...)
Moi je suis trop vieux pour ces choses là ... (bon 15 ans dans 6 jours...)
Bon après-midi ;)
Amicalement, le renard...
Image

N'est plus de ce monde.
Avatar de l'utilisateur
Nardoum
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 515
Inscription: 05 Mar 2008, 11:29
Localisation: Dans un endroit isolé dans le monde...
Points: 404


Re: PHP vis à vis Flash CS3 : Comprendre les langages

Messagede zardoz le 10 Juil 2009, 19:38

Oui d'accord et j'en suis conscient.
À vrai dire je n'ai fait ce topic que pour le plaisir.
Si il répond à quelques uns, tant mieux.

Mon but étant de faire comprendre que les langages se partage les mêmes standards.
C'est ainsi non seulement dans les langages mais aussi dans les logiciels graphiques :
Photoshop vis à vis The Gimp. Comme exemple évidemment.

Ce sont ces standards dans les développements de langages ou les développements logiciels graphiques.
qui nous permettent d'étudier un tutoriel en photoshop même si nous travaillons avec The Gimp.

Ou encore d'étudier un script PHP même si nous travaillons avec Flash et vice versa.

Quoiqu'il en soit Je te remercie d'avoir apprécié. Pour ce qui est de tes 15 ans, C'est vrai que c'est vieux. :p
Plusieurs te souhaiterons bonne fête dans quelques jours je pense.

++
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: PHP vis à vis Flash CS3 : Comprendre les langages

Messagede Nardoum le 10 Juil 2009, 22:19

Héhé sacré Zardoz ! Toujours de bonnes explications, tu veux faire quoi comme métier toi ? XD
Sinon pour le "bonne fête", c'est dispensable je ne demande rien XD
:bravo:
Amicalement, le renard...
Image

N'est plus de ce monde.
Avatar de l'utilisateur
Nardoum
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 515
Inscription: 05 Mar 2008, 11:29
Localisation: Dans un endroit isolé dans le monde...
Points: 404


Re: PHP vis à vis Flash CS3 : Comprendre les langages

Messagede zardoz le 11 Juil 2009, 03:14

Dispensable ? oui c'est vrai.
Mais plusieurs apprécient ta participation sur MSG. Eux ne manquerons pas à l'appel ce jours là. :-D

Aucun métier, je veux profité de la vie et me parfaire en informatique.

++
zardoz
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 888
Inscription: 16 Fév 2008, 04:05
Points: 582


Re: PHP vis à vis Flash CS3 : Comprendre les langages

Messagede Nardoum le 13 Juil 2009, 11:45

C'est gentil ^^
Alors profite de ta vie et exploite tout ce que tu peux en informatique (sans entrer dans l'illégal bien sûr)
Amicalement, le renard...
Image

N'est plus de ce monde.
Avatar de l'utilisateur
Nardoum
Plug'zien Star'z
Plug'zien Star'z
 
Messages: 515
Inscription: 05 Mar 2008, 11:29
Localisation: Dans un endroit isolé dans le monde...
Points: 404



Retourner vers Flash

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités