Extension possible
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Avant de terminer notre script, je voulais vous montrer une façon de l'étendre pour de futurscinémas potentiels que vous pourriez ajouter. Et ça vaut bien entendu également si vous faites ce
00:00:09 :script de votre côté parce que jusqu'à présent on a récupéré les horaires sur plusieurs pagesd'un même cinéma, donc dans ce cas-ci NOS, mais dans mon cas il y a d'autres cinémas,d'autres types de cinémas, par exemple des cinémas d'arrêt d'essai dans ma ville qui ontdes films aussi intéressants avec d'autres horaires. Donc ce qu'on peut faire ici c'est
00:00:26 :créer du coup une classe abstraite qui va être cette classe ici avec les mêmes méthodes quecelles qu'on avait dans la classe qu'on avait auparavant et que j'ai renommée. Donc je l'ai
00:00:35 :renommée ici NOSCinemaDataFetcher et on pourrait avoir d'autres cinémas comme ça qui implémententces mêmes méthodes. Donc l'intérêt de la classe abstraite c'est qu'elle va définir une façon de
00:00:44 :faire. Donc si on veut avoir ces deux méthodes ici, il faut les préfixer de abstract method etça fait que toutes les classes enfantes qui héritent de BaseCinemaDataFetcher vont devoirimplémenter ces méthodes ici. Donc pour vous montrer à peu près à quoi ça ressemble sur ce
00:00:58 :cinéma par exemple, si j'actualise quand je vais dans Inspect, je vais avoir à peu près la mêmechose c'est à dire que je vais avoir un point d'API ici qui va me retourner du JSON. Donc là
00:01:07 :bien entendu le format sera différent donc il va falloir traiter ces données de façon différentepour avoir quelque chose d'uniforme et ça vous pouvez le faire du coup à l'intérieur de cesméthodes donc GetMovieSchedules et FetchAllMovies pour pouvoir ensuite retourner les informations.
00:01:23 :Probablement qu'ici il faudra même modifier cette façon de faire puisque là on a FetchAllMovieset GetMovieSchedules mais ça va dépendre des cinémas. Par exemple ici je vois que j'ai toutes
00:01:33 :les horaires de tous les jours de tous les films sur une seule page et donc l'intégralité desinformations se retrouve ici sur ce point d'API ce qui est différent de ce qu'on avait auparavantavec les autres cinémas dans lequel on a séparé les fonctions avec le FetchAllMovies qui allait
00:01:47 :déjà récupérer les movies avec leur identifiant unique et ensuite une autre fonction qui allaitrécupérer les horaires de chaque film en question. Donc peut-être que là dans ce cas-ci
00:01:56 :pour Trindade on n'aurait pas besoin de ces deux fonctions donc il faudrait remanier notre classede base pour avoir probablement ici une méthode principale qui soit tout simplement un export dedata et ensuite d'avoir des logiques internes aux classes enfantes qui soient différentes puisquepour Nos ici on aurait deux méthodes internes donc celle-ci et celle-ci pour aller chercher toutes
00:02:15 :les horaires alors que dans Trindade on aurait un seul point d'API donc une seule méthode interneet tout ça serait appelé ensuite dans cette méthode qu'on pourrait appeler par exemple iciFetchData qui dans ce cas-ci donc pour Nos utiliserait ces deux fonctions qui seraient définiesen fonction privée à l'intérieur de cette classe et qui pour Trindade utiliserait une seule méthode
00:02:34 :privée propre à cette classe Trindade. Donc voilà pour cette idée d'extension du script si vousvoulez faire quelque chose d'un peu plus complexe de votre côté et pousser l'apprentissage un peuplus loin je vous laisse avec ces bases et avec une méthode qui passe par les classes abstraites qui
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.