L'essentiel de PHP 7

Comprendre les objets PHP

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Les objets, une part essentielle de PHP, se définissent comme étant des classes. Apprenez à fabriquer vos propres objets, avec leur propre logique.
08:23

Transcription

Maintenant qu'on a parlé des fonctions, on va s'attaquer à une partie un peu plus intéressante, c'est les objets. Qu'est-ce-que c'est qu'un objet ? Alors en PHP un objet, c'est un espace qui va vous permettre d'avoir de la logique à l'intérieur, on peut démarrer un nouvel objet qui va être dans type que vous aurez défini, et de le faire faire des choses. Alors on va, généralement, prendre un exemple assez simple pour démontrer ça. On va utiliser le mot-clé classe et on va créer une classe qui sera un objet qu'on va instancier. On va utiliser une voiture, on va faire une classe car et à l'intérieur de cette classe car on va coder de la logique qui sera intéressante pour nous et qui nous permettra de travailler avec l'objet. Pour vérifier et pour avoir un objet, il faudra le mettre dans une variable, donc, on va faire une variable car, très simple, qui sera égale à New car. Vous allez utiliser l'opérateur New pour démarrer un nouvel objet sur une classe que vous aurez créée préalablement. Donc là on va se créer une New car et puis cette voiture, on va lui faire faire quelque chose. Pour lui faire faire quelque chose vous devrez déclarer des fonctions à l'intérieur de la classe qui seront des fonctions internes de l'objet qui permettront de travailler avec l'objet. Par exemple, on pourrait avoir une fonction qui s’appellerait start, qui permettrait de démarrer la voiture. Et pour vérifier que ça fonctionne on pourrait, simplement, faire un écho comme ça, en console, et on dirait car started. Et bien sûr, on va mettre un petit \n pour que ce soit propre. Alors comment je fais pour rappeler maintenant ma fonction sur mon objet car ? Je vais utiliser car, comme ça, flèche, et je vais utiliser une fonction qui est référencée à l'intérieur. La flèche permettra d'aller pointer une fonction faisant partie de l'objet car. Alors ça, c'est génial parce que normalement, quand on va le lancer en console, du coup, ici, on voit bien que ça démarre et qu'il n'y a pas de problème. Étant donné que ç'avait des fonctions et que vous avez déjà vu qu'on peut passer des variables à une fonction. On pourrait aussi demander une accélération, donc, fonction accelerate et on pourrait ici lui mettre une vitesse, un speed. Et à ce moment-là on pourrait directement dire qu'effectivement, ç'a bien fonctionné et donc, que la voiture va à une vitesse particulière. Ici, on pourrait, simplement, marquer car speed : et ajouter le speed que l'on vient de référencer. Ça veut dire qu'on dirait, la voiture démarre et qu'ensuite, on va accélérer, accelerate, et on va se mettre à 50 km/h. Avec deux fonctionnalités vous voyez qu'en codant de la fonction, on peut, très facilement, travailler sur un objet. Vous aller qu'on peut faire mieux que ça, on relance effectivement, le car speed est à 50, ç'a bien fonctionné, par contre, il n'est pas toujours à 50. Je m'explique : parce que là vous le mettez à 50 mais vous ne le stockez absolument nulle part. On a, tout à fait, possibilité de stocker cette information dans la classe car et donc, du coup, de faire en sorte que cette information soit toujours, potentiellement, à pouvoir la faire évoluer, donc qu'on soit toujours dans la classe car et qu'on vient l'écraser au fur et à mesure, donc on vient de travailler le corps de notre objet, et on va lui donner un speed qui va rester, un vitesse qui va rester. Pour faire ça vous allez définir une variable publique à l'intérieur de... ... ici ça va être le speed que l'on va définir de façon publique et au démarrage de notre objet, c'est-à-dire quand je crée un nouvel objet je veux absolument que le speed soit à zéro. Alors je vais vous expliquer comment on va se débrouiller. On va d'abord ici faire une fonction qui va s’appeler get speed. Le get speed ne va pas prendre du tout de speed, il va simplement nous donner le speed actuel, la vitesse actuelle. Pour récupérer et pour pointer une propriété qui se trouve dans la classe, vous allez utiliser l'opérateur this qui permet de dire que vous êtes en train de travailler sur this, sur l'objet actuel, donc, une propriété de l'objet. Alors attention, ce n'est pas this comme ça, avec la variable complète, c'est vraiment this speed qui référence la valeur speed, donc la propriété speed que vous avez sur votre car. Et maintenant je vais vous montrer aussi des fonctions magiques qu'on a sur les objets, notamment, la fonction de construction, c'est construct que l'on va référencer comme ça. Alors attention, il faut le définir vraiment, c'est public fonction costruct, il faut le mettre entièrement. Je ne vous parle pas de porter parce que c'est un peu des notions un petit peu plus avancées, là vous démarrez mais, par contre, je vais vous conseiller de toujours référencer le mot-clé public pour le moment, en tout cas, de voir vos fonctions, ce qui vous permettra d'y accéder de l'extérieur, de l'intérieur, d'à peu près partout. Donc là, on crée une public fonction constuct et ce qu'on va lui demander, c'est de mettre en place le this speed au tout début, à zéro. Et bien sûr, on va ajouter une public fonction qui va s'appeler accelerate comme on avait avant, accelerate, qui va prendre un speed particulier, une vitesse particulière et qui va du coup, venir écraser, on va écraser. On va écraser la valeur, donc la valeur, en fait, de speed avec cette valeur-là. On va faire un this speed est égal à speed. Et là, comme ça, vous commencez à avoir une classe intéressante. On récapitule un peu, on construit l'objet, donc ça, c'est quand on refait New car et ici, à la construction, le speed est à zéro. Donc si je demande un get speed, directement, après la construction ici, on peut le faire, get speed, ici, je vais me retrouver avec, simplement, zéro. On peut essayer directement, voilà, là on a le car speed à zéro parce que quand on construit, ça passe là-dedans automatiquement. Quand vous utilisez New car ça passe dedans. Ensuite, on s'est dit qu'on pouvait modifier le speed. Donc on peut faire directement un accelerate et puis on peut lui donner ici, par exemple 50. Ce qui fait que si juste derrière ja lui demande aussi le get speed, je vais être à 50. Voyez ce qui se passe. Je viens d'écraser cette propriété et maintenant, à partir de cette partie-là, le moment où j'ai écrasé la propriété, je vais toujours être à 50 et je peux travailler avec le speed n'importe où ailleurs, dans n'importe quelle fonction, je vais me retrouver avec des propriétés de mon objet qui peuvent évoluer au fur et à mesure du temps. Voyez un petit peu l'intérêt. L'intérêt, c'est de créer un vrai espace, donc un objet, d'essayer de refléter un objet de la réalité, de lui ajouter des fonctionnalités et de pouvoir appeler ces fonctionnalités au fur et à mesure. Je vais vous donner un dernier petit truc et astuce et vous aurez déjà, en tout cas, un bagage assez nécessaire sur les objets qui vont vous permettre de comprendre un petit peu de toute programme, notamment et puis d'essayer d'en développer vous-mêmes. Je vais vous donner le return, je vous explique : j'aimerais bien pouvoir directement démarrer mon objet, comme ça, et là je voudrais pouvoir lui dire d'accélérer et de récupérer ou plutôt de pouvoir enchaîner tout de suite sur get speed. Pour pouvoir faire ça vous êtes obligé, dans get speed, de faire un return de this un return de cet objet pour pouvoir chaîner, c'est ce qu'on appelle le chaînage. Mais il faut le faire absolument partout parce que c'est plus intéressant quand on peut chaîner, vraiment, les fonctionnalités. Je vais vous montrer ce que ça va nous permettre de faire. En fait, ici ça va nous permettre d'être beaucoup moins verbeux, ici, et de n'avoir à référencer Car qu'une seule fois. Faire que concrètement regardez, je vais pouvoir ici enchaîner les flèches les unes derrière les autres. Et en fait, j'ai la possibilité de faire ça parce que l'appel à ça, va retourner this, c'est-à-dire que le résulatat de get speed qu'on a ici, ça va être this. Comment je vais faire accelerate ? en fait, je vais utiliser le résultat de get speed, donc, toujours sur l'objet car, this accelerate, this get speed et je peux enchaîner comme ça, autant de fois que je veux et autant de fonctionnalités que je veux. Et ça, c'est une bonne chose de faire ça, comme ça parce que du coup, vous pouvez enchaîner les fonctionnalités et du coup, ça vous permet de ne pas avoir à référencer à chaque fois car et à finir chaque ligne avec un ;, vous pouvez faire du paramètre d'objet comme ça, très facilement. Voilà un petit peu pour le démarrage pur d'un objet. Donc gardez à l'esprit : un objet, c'est une classe, un objet, ç'a des propriétés que vous pouvez définir, que je vous conseille de définir tout en haut à chaque fois, de votre classe, et ensuite, ç'a ici tout un tas de fonctions, dont des fonctions magiques de PHP, notamment construct, mais il y a aussi le contraire, c'est le dictruct quand on détruit l'objet, et puis ensuite, on code nos fonctions à nous celles que l'on veut pour pouvoir travailler avec de la logique objet. C'est un tout petit exemple mais c'est un exemple qui est suffisant pour avoir un petit bagage en objet et comprendre un petit peu : qu'est-ce-que l'objet en PHP ?

L'essentiel de PHP 7

Exploitez les nombreuses possibilités de PHP. Définissez des variables, créez des fonctions, manipulez du texte, abordez la gestion des objets, des opérateurs logiques, etc.

4h25 (52 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !