CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

L'intérêt des class en PHP...

Pseudo supprimé
Pseudo supprimé 27 mai 2018 à 03:31:45

Salut tout le monde,

j'ai appris à coder sur le tas, comme beaucoup d'entre nous. J'ai donc appris les bases de PHP sur l'ancien Openclassroom, le site du Zéro... Ce n'était que le début et à force de pratiquer, j'ai réussi à beaucoup m'améliorer par rapport à mes débuts.

Mais j'ai toujours énormément de mal avec certaines notions de programmation, et notamment les classes en PHP. L'exemple qui est toujours pris pour l'expliquer, c'est un personnage auquel on pourrait faire faire tout un tas d'actions via des fonctions. Sauf que j'ai du mal à voir comment (et surtout quel intérêt ça a) on pourrait appliquer une classe pour un site internet, un blog par exemple.

J'aimerais avoir un exemple concret, et au plus simple si possible. Juste au moins pour saisir l'intérêt des classes...

Je vous remercie d'avance !

Tacha-tepoilu
Tacha-tepoilu
Niveau 12
27 mai 2018 à 08:06:25

Le 27 mai 2018 à 03:31:45 SpectreVisible a écrit :
Salut tout le monde,

j'ai appris à coder sur le tas, comme beaucoup d'entre nous. J'ai donc appris les bases de PHP sur l'ancien Openclassroom, le site du Zéro... Ce n'était que le début et à force de pratiquer, j'ai réussi à beaucoup m'améliorer par rapport à mes débuts.

Mais j'ai toujours énormément de mal avec certaines notions de programmation, et notamment les classes en PHP. L'exemple qui est toujours pris pour l'expliquer, c'est un personnage auquel on pourrait faire faire tout un tas d'actions via des fonctions. Sauf que j'ai du mal à voir comment (et surtout quel intérêt ça a) on pourrait appliquer une classe pour un site internet, un blog par exemple.

J'aimerais avoir un exemple concret, et au plus simple si possible. Juste au moins pour saisir l'intérêt des classes...

Je vous remercie d'avance !

Très simple : Une classe qui sert de routeur, une autre qui sert de contrôleur, une qui sert de modèle, une de vue... Oui c'est le modèle MVC, mais en gros une classe c'est surtout pour définir un périmètre d'action sur quelque chose, imaginons que je veux créer une classe qui s'occupe de la gestion avec la BDD au niveau des utilisateurs, avec une classe, j'peux définir mes méthodes qui vont traiter différents cas (obtenir juste le pseudo, obtenir le profil complet, bannir quelqu'un, etc.)

20_cent_2017
20_cent_2017
Niveau 10
27 mai 2018 à 11:33:18

Prend une class simple article pour un blog : pour un article tu as un auteur une date un contenu...
Tu va pouvoir récupérer tous ça directement via les fonctions getDate, getContenue...
Ça permet de formaliser les données et structures ton application...

Regarde des cours sur la poo !

PetitSumo
PetitSumo
Niveau 10
27 mai 2018 à 19:29:22

Class je ne sais pas mais une function c'est pratique

Thymotep
Thymotep
Niveau 10
28 mai 2018 à 13:53:08

Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :
Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

PetitSumo
PetitSumo
Niveau 10
28 mai 2018 à 15:27:10

Le 28 mai 2018 à 13:53:08 thymotep a écrit :

Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :
Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

-[Franckyi]-
-[Franckyi]-
Niveau 10
28 mai 2018 à 22:16:33

[15:27:10] <PetitSumo>

Le 28 mai 2018 à 13:53:08 thymotep a écrit :

Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :
Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

PetitSumo
PetitSumo
Niveau 10
29 mai 2018 à 10:12:24

Le 28 mai 2018 à 22:16:33 -[Franckyi]- a écrit :

[15:27:10] <PetitSumo>

Le 28 mai 2018 à 13:53:08 thymotep a écrit :

Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :
Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

Si tu savais lire tu n'aurais pas eu le besoin d'écrire ce message
https://www.jeuxvideo.com/spectrevisible/forums/message/955710090

Thymotep
Thymotep
Niveau 10
29 mai 2018 à 10:42:10

Le 29 mai 2018 à 10:12:24 PetitSumo a écrit :

Le 28 mai 2018 à 22:16:33 -[Franckyi]- a écrit :

[15:27:10] <PetitSumo>

Le 28 mai 2018 à 13:53:08 thymotep a écrit :

Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :
Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

Si tu savais lire tu n'aurais pas eu le besoin d'écrire ce message
https://www.jeuxvideo.com/spectrevisible/forums/message/955710090

Tu dis clairement que tu ne sais pas ce qu'est une class en PHP, or la personne qui a posté le sujet, demande des infos aux sujets des classes, donc abstient toi de commenter, vu que tu ne sais pas.

Merci.

Message édité le 29 mai 2018 à 10:42:49 par Thymotep
PetitSumo
PetitSumo
Niveau 10
29 mai 2018 à 11:25:58

Le 29 mai 2018 à 10:42:10 thymotep a écrit :

Le 29 mai 2018 à 10:12:24 PetitSumo a écrit :

Le 28 mai 2018 à 22:16:33 -[Franckyi]- a écrit :

[15:27:10] <PetitSumo>

Le 28 mai 2018 à 13:53:08 thymotep a écrit :

> Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :

>Class je ne sais pas mais une function c'est pratique

Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

Si tu savais lire tu n'aurais pas eu le besoin d'écrire ce message
https://www.jeuxvideo.com/spectrevisible/forums/message/955710090

Tu dis clairement que tu ne sais pas ce qu'est une class en PHP, or la personne qui a posté le sujet, demande des infos aux sujets des classes, donc abstient toi de commenter, vu que tu ne sais pas.

Merci.

"abstiens-toi"

Thymotep
Thymotep
Niveau 10
29 mai 2018 à 16:14:56

Le 29 mai 2018 à 11:25:58 PetitSumo a écrit :

Le 29 mai 2018 à 10:42:10 thymotep a écrit :

Le 29 mai 2018 à 10:12:24 PetitSumo a écrit :

Le 28 mai 2018 à 22:16:33 -[Franckyi]- a écrit :

[15:27:10] <PetitSumo>

> Le 28 mai 2018 à 13:53:08 thymotep a écrit :

>> Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :

> >Class je ne sais pas mais une function c'est pratique

>

> Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

Si tu savais lire tu n'aurais pas eu le besoin d'écrire ce message
https://www.jeuxvideo.com/spectrevisible/forums/message/955710090

Tu dis clairement que tu ne sais pas ce qu'est une class en PHP, or la personne qui a posté le sujet, demande des infos aux sujets des classes, donc abstient toi de commenter, vu que tu ne sais pas.

Merci.

"abstiens-toi"

Merci pour cette remarque :ok:

20_cent_2017
20_cent_2017
Niveau 10
29 mai 2018 à 18:48:27

Surtout j’ai répondu simplement à la question

PetitSumo
PetitSumo
Niveau 10
29 mai 2018 à 19:31:06

Le 29 mai 2018 à 16:14:56 thymotep a écrit :

Le 29 mai 2018 à 11:25:58 PetitSumo a écrit :

Le 29 mai 2018 à 10:42:10 thymotep a écrit :

Le 29 mai 2018 à 10:12:24 PetitSumo a écrit :

Le 28 mai 2018 à 22:16:33 -[Franckyi]- a écrit :

>[15:27:10] <PetitSumo>

>> Le 28 mai 2018 à 13:53:08 thymotep a écrit :

>>> Le 27 mai 2018 à 19:29:22 PetitSumo a écrit :

>> >Class je ne sais pas mais une function c'est pratique

>>

>> Alors pourquoi tu réponds si tu ne sais pas ? Ça va pas aider la personne qui a posté le message :ok:

>

>Je tiens à te rappeler qu'il y a Google.

En l'occurence c'est toi qui ne sait pas ce que c'est une classe :doute:

Si tu savais lire tu n'aurais pas eu le besoin d'écrire ce message
https://www.jeuxvideo.com/spectrevisible/forums/message/955710090

Tu dis clairement que tu ne sais pas ce qu'est une class en PHP, or la personne qui a posté le sujet, demande des infos aux sujets des classes, donc abstient toi de commenter, vu que tu ne sais pas.

Merci.

"abstiens-toi"

Merci pour cette remarque :ok:

:ok: As-tu des connaissance en PHP ?

DCeno
DCeno
Niveau 10
30 mai 2018 à 00:08:39

Pour comprendre une classe il faut comprendre la programmation orienté objet, ce n'est pas propre au PHP, mais à de nombreux langages.
Ensuite, il y a différente façon de l'interpréter, mais souvent le plus facile est le modèle MVC comme cité plus haut.

Si tu t'intéresse aux frameworks PHP, tu comprends plus facilement les usages de la POO car ils sont fortement encadré par une logique définis par le framework.

Par exemple, avec Yii (qui est simple selon moi pour débuter), tu as des modèles, des views, des controlleurs, et des components.

Les modèles sont des classes servant à mapper des objets de la base de donnée (principe de la POO, la classe est "le plan de fabrication" d'un objet (qui lui est du coup l'instance d'une classe). et du coup ses attributs sont basés sur les colonnes d'une table de la base de donnée, et les clés étrangères/relations y sont également définis grâce à des fonctions qu'offre le framework.

Les contrôleurs sont des classes d'un autre genre, il ne faut pas oublier que l'on parle de site web, donc on affiche généralement plus d'une vue, plus d'une URL, ... Sous Yii, les contrôleurs sont des classes qui comporte des actions, la logique de Yii est de mapper "magiquement" des classes et fonctions à des URLs de ton site (bon enfaite c'est pas magique, ils font juste que le index.php a un moment appel une classe qui exploite des propriétés de PHP permettant d'invoquer une classe ou sa méthode à partir d'une string de l'URL, ou peut-être des call_user_func, ...)

Ainsi le contrôleur "machin" avec la classe "actionFaitUnTruc" se mappe à tonsite.com/machin/faitUnTruc
par exemple.

(y a aussi des routers, mais Yii te force pas trop la main sur ça, à l'inverse d'autres frameworks qui t'obligeront à définir tes routes toi-même)

Les components eux sont des classes utilitaire que tu invoque généralement pour appliquer une logique de traitement à différents endroits, et que tu aurais besoin d'instancier (sinon autant utiliser un Trait si tu veux juste partager tes fonctions...)

Et enfin, les views eux ne sont pas des classes, mais des fichier html contenant la page, mais... Ils sont charger par PHP à travers une classe qui sert à gérer les templates (souvent une dépendance comme Twig, Smarty, Blade, ...) qui est une classe... qui sert à charger le HTML pour le echo proprement à l'utilisateur et qui est donc exploité dans tout les contrôleurs de Yii en général. (maintenant grâce à une intégration plus ou moins facile, ça peut s'utiliser plus ou moins facilement...)

'fin tout ça pour dire qu'il faut comprendre la POO et le MVC pour saisir l'intérêt d'une classe, j'ai parler du cas PHP, mais c'est vrai pour tout les langages.

Message édité le 30 mai 2018 à 00:10:05 par DCeno
PetitSumo
PetitSumo
Niveau 10
30 mai 2018 à 15:46:52

Pour un débutant je ne conseil pas d'utiliser un FrameWork, MVC c'est comme de conseiller à une personne d'apprendre le CSS en utilisant bootstrap.

Thymotep
Thymotep
Niveau 10
30 mai 2018 à 17:17:54

Le 30 mai 2018 à 15:46:52 PetitSumo a écrit :
Pour un débutant je ne conseil pas d'utiliser un FrameWork, MVC c'est comme de conseiller à une personne d'apprendre le CSS en utilisant bootstrap.

"je ne conseille pas"

PetitSumo
PetitSumo
Niveau 10
30 mai 2018 à 18:09:23

Le 30 mai 2018 à 17:17:54 thymotep a écrit :

"je ne conseille pas"

Oui.

DCeno
DCeno
Niveau 10
30 mai 2018 à 22:29:21

Le 30 mai 2018 à 15:46:52 PetitSumo a écrit :
Pour un débutant je ne conseil pas d'utiliser un FrameWork, MVC c'est comme de conseiller à une personne d'apprendre le CSS en utilisant bootstrap.

Pour les bases des bases peut-être pas, mais pour comprendre les classes, la POO, ... appliqué au web, un framework aide beaucoup (sur ce point je déconseille fortement de commencer par Symfony, mais Yii fait le job sur ce point à mes yeux..., je dirais moins ça pour Laravel qui a une structure plus "particulière", mais bon...)

'fin un framework sert à simplifier, tu n'apprends pas à faire du CSS avec Bootstrap, mais tu apprends à faire rapidement un site responsive en te simplifiant justement le CSS.

En PHP, un framework te simplifie la recherche d'une structure, l'organisation de tes classes, et te pousse à les utiliser en respectant certaines pratiques. Tu n'apprends pas le PHP avec mais tu apprends à mieux organiser ton code et à faire tout doucement usage de POO pour tes propres besoins quand tu y es amené... Et ça t'évite de te prendre trop la tête avec la base de données ou le routage des URLs.

Queelan
Queelan
Niveau 30
31 mai 2018 à 12:38:13

Salut! :)

Je te conseille la formation Programmation Orientée Object en PHP sur Grafikart !
https://www.grafikart.fr/formations/programmation-objet-php

La progression est très bien faite je trouve!

PetitSumo
PetitSumo
Niveau 10
01 juin 2018 à 11:51:05

Ces sites peuvent être sympas mais pour un débutant ça ne sers à rien de tout apprendre, il faut qu'il se mette en tête un projet personnel comme un petit blog, forum, t'chat. On apprend sur le terrain pas sur de la théorie car rien ne vaut la pratique.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment