Archives par mot-clé : parent

George Müller

Anecdote n°3 : Georges Müller dans le brouillard

Publié dans L'anecdote du week-end | Laisser un commentaire
George Müller

Photographie de M. George Müller

L’évangéliste Charles Inglis raconta ce qui suit à propos de George Müller: « Lorsque je suis allé en Amérique pour la première fois, il y a trente et un ans, le capitaine du navire était l’un des plus fervents croyants que j’ai jamais connus. Alors que nous nous approchions de Terre-Neuve, il me dit : Monsieur Inglis, la dernière fois que je suis passé par là, il y a cinq semaines, il s’est passé une chose si extraordinaire qu’elle a changé toute ma vie de croyant. Jusqu’alors j’étais un croyant ordinaire comme il y en a beaucoup. Il y avait à bord avec nous un homme de Dieu, monsieur George Müller, de Bristol. j’avais passé vingt-deux heures sans quitter le pont de commandement un seul instant, lorsque je sursautai parce qu’on m’avait touché l’épaule. C’était monsieur George Müller.
Continuer la lecture

L’opérateur cons et les mots-clés self et parent

Publié dans PHP objet | Laisser un commentaire

Hé, je n’écris pas trop en ce moment. La fin d’année scolaire passe par là : les rendus de projets et les examens fusent de partout. Mais j’arrive quand même à passer un petit peu de temps à découvrir le PHP objet.

L’opérateur cons

L’opérateur cons ou double points (on l’appelle cons en CamL, alors pourquoi pas en PHP ?) permet de résoudre un attribut ou une méthode. On le précède d’un mot clé et on le fait suivre d’un nom d’attribut ou de méthode. On va le voir tout de suite en application…

Les mots-clés self et parent

Self permet de résoudre un attribut ou une méthode de sa propre classe, et parent ceux de sa classe parente, une dont on hérite.

Place aux exemples

<?php
class Blog
{
  var $nom;
  var $description;
  var $categorie = 'Billet';

  function __construct($nom, $description)
  {
    $this->nom = $nom;
    $this->description = $description;
  }

  function ecrire_un_billet()
  {
    echo 'Ceci est un billet de blog<br />';
  }

  function modifier_un_billet()
  {
    echo 'Je modifie un billet de blog<br />';
  }
}

class BlogPhoto extends Blog
{
  var $categorie = 'Photo';

  function ecrire_un_billet()
  {
    echo 'Ceci est un billet de blog photo<br />';
  }

  function test_self()
  {
    self::ecrire_un_billet();
    self::modifier_un_billet();
    echo self::$this->nom.'<br />';
    echo self::$this->categorie.'<br />';
  }

  function test_parent()
  {
    parent::ecrire_un_billet();
    parent::modifier_un_billet();
    echo parent::$this->nom.'<br />';
    echo parent::$this->categorie.'<br />';
  }
}
$blogDeBN = new Blog('30 minutes par jour', '30 minutes par jour au coeur de l\'informatique.');
$blogPhoto = new BlogPhoto('Mon blog photo', 'Des tas de photos partout !');
// Testons les mots-clés :
echo 'Self :<br />';
$blogPhoto->test_self();
echo '<br />Parent :<br />';
$blogPhoto->test_parent();

Comme vous pouvez le voir, le mot-clé parent ne semble pas fonctionner sur un attribut. Je pense que je saisi mal quelque chose. J’ai testé self::nom, ou self::$nom, en mettant mes variables en public ou en static. Bref. Cette histoire de self et de parent semble très simple à première vue mais ça à l’air un tout petit peu plus complexe dans la réalité. Mais la suite de mes lectures me dit que je vais finir par comprendre.