/usr/portage

Self-ish 7

Did you know that this is working?

<?php
class MyClass
{
   public function doSomething(self $obj)
   {}
}

self is a valid typehint for MyClass.

Filed under , & seven comments & no trackbacks

Trackbacks

Trackback specific URI for this entry

No Trackbacks

Comments

  1. mr_spuck reckons:
    published on July 10th 2007, 04:18:08 pm *

    Irgendwie kam mir gerade der Begriff "Rekursion" in den Sinn … wobei das nicht wirklich passt …

    Reply

  2. Lars Strojny returns:
    published on July 10th 2007, 04:38:51 pm *

    Ich brauchte das für ein BigInt-Objekt, wo es immer ein gleiches Objekt (oder ein abgeleitetes) als Parameter erwartet.

    Reply

  3. mr_spuck replys:
    published on July 10th 2007, 07:22:23 pm *

    Ich bin gerade nicht sicher ob ich das richtig verstanden hab …

    Du hast also eine Klasse die von BigInt abgeleitet ist … davon instanzierst du dir dir ein Objekt und ruftst dann die oben erwähnte Methode auf, die dann irgendwas mit dem instanzierten Objekt macht …

    Oder ???

    Reply

  4. Lars Strojny opines:
    published on July 11th 2007, 08:33:25 am *

    Sowas:

    $int = new BigInt(10);
    $int->minus(new BigInt(5));

    Und BigInt sieht so aus
    class BigInt
    { ... public function minus(self $int) { ... }
    }

    Reply

  5. mr_spuck supposes:
    published on July 11th 2007, 11:23:29 am *

    ich glaub jetzt hab ichs verstanden … ich hatte da wohl einen kleinen Denkfehler bezüglich des "self" ...

    Reply

  6. Lars Strojny says:
    published on July 11th 2007, 11:32:06 am *

    self heißt nicht gleiche Instanz, sondern Instanz gleicher Klasse oder Child-Klasse.

    Reply

  7. mr_spuck supposes:
    published on July 11th 2007, 12:19:00 pm *

    Wie schon man erwähnt bin ich ein klein wenig eingerostet zumindest was das Coden angeht … ;-)

    Reply

Add a Comment & let me know what you think