Choosen: Functionen in Objekten

Hallo liebes Forum.

Ich möchte WIE Jquery mein eigenes Script im bereich php 'zusammenbasteln';
z.b &('get').table('user').find('Heinz').update('password','bleistift');
und ich bin am rätseln wie ich Funktionen wie Objekte aneinanderreihe.
Kann mir einer vielleicht weiterhelfen?.
Würde mich riesig freuen;D!

LG Choosen!

  1. Nicht & sondern $ natürlich!

    1. Nicht & sondern $ natürlich!

      In PHP kannst du eine Variable nicht "$" nennen. "&" geht übrigens auch nicht.

      http://php.net/manual/de/language.variables.basics.php

  2. z.b &('get').table('user').find('Heinz').update('password','bleistift');
    und ich bin am rätseln wie ich Funktionen wie Objekte aneinanderreihe.

    Das Vorgehen nennt sich Chaining und wird dadurch erreicht, dass Methoden eine Referenz auf ihre Objektinstanz zurückliefern.

  3. Tach!

    Ich möchte WIE Jquery mein eigenes Script im bereich php 'zusammenbasteln';
    z.b &('get').table('user').find('Heinz').update('password','bleistift');
    und ich bin am rätseln wie ich Funktionen wie Objekte aneinanderreihe.

    Fluent Interface nennt sich diese Programmierweise. Die Methoden müssen dabei eine Referenz auf das Objekt zurückgeben, also return $this; Und natürlich ist es unter PHP mit -> und nicht mit . zu schreiben.

    dedlfix.

  4. Ich will auch mal.
    Wie sich das nennt haben dir die zwei ja schon gesagt. Jedoch kannst du ein beliebiges Objekt zurück geben, es muss also nicht $this sein, ist es aber in den meisten fällen.
    Sieht dann ungefähr so aus:

    public function createBody()
    {
        return new Body("<body>");
    }

    public function createHTML()
    {
        return new HTML("<html>");
    }

    public function getOwn()
    {
       //--- mach was
       return $this;
    }

    Das ganze in einer Klasse.
    Wenn ein fremdes Objekt zurück kommt ist natürlich darauf zu achten, dass desen Methoden im folgenden versucht werden auf zu rufen.

    Gruß
    Chaining findet sich nicht nur im Fetish bereich
    T-Rex