Ankündigung

Einklappen
Keine Ankündigung bisher.

TypeHints

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • TypeHints

    Kann man Type Hints auch für Methoden-Rückgabewerte definieren?
    Habe auf die schnelle nichts gefunden..
    http://ch2.php.net/language.oop5.typehinting


  • #2
    Hallo Zergling,

    Was meinst du genau?
    PHP-Code:
    class foo{

    public function 
    baz($blubb=0) {
    // .. irgendwas
    return (int) $methodEvaluation;
    }


    oder bei der Zuweisung
    PHP-Code:
    $oRet = new foo();
    $irgendwas = (int) $oRet->baz(); 
    Meines Wissens funktioniert beides. Kann aber sein, dass ich mich gerade von C täuschen lasse!

    Gruß

    Kommentar


    • #3
      Zitat von pepe24
      Was meinst du genau?
      PHP-Code:
      class foo{

      public function 
      baz($blubb=0) {
      // .. irgendwas
      return (int) $methodEvaluation;
      }


      [...]
      Das ist aber kein TypeHint sondern ein cast.

      Ich weiß aber auch nicht ganz genau wie sich Zergling TypeHints bei return-Werten vorstellt - und ich weiß auch nicht wann genau das Sinn machen soll?
      Create your own quiz show.

      Kommentar


      • #4
        Das ist aber kein TypeHint sondern ein cast.
        Jo, stimmt selbstverständlich. Hatte den Begriff wohl falsch eingeordnet.

        Kommentar


        • #5
          Siehe http://oss.backendmedia.com/PhP60

          5. OO changes
          ...
          7. add support for type-hinted return values.
          ...
          mfg louis

          Kommentar


          • #6
            Type Hints für Argumente/Parameter wäre ja soetwas
            public static function map(DataMapper $input, DataMapper $output)
            Meine Frage bezog sich hierauf:
            public static AnyClass doSomething()
            public static bool doSomething()
            //..
            louis hat damit meine Frage beantwortet, danke!
            Auch euch beiden anderen.

            Kommentar


            • #7
              java-Style, das hat scho was. Bloss seh ich es kommen, dass PHP6 ähnlich lange brauchen wird, PHP5 abzulösen, wie es jetzt grad mit 5 und 4 is -.-
              Nicht jeder Fehler ist ein Bug.

              Kommentar


              • #8
                Zitat von KingCrunch
                java-Style, das hat scho was.
                Vor allem, weil es ja eher C-style ist.
                Java kam ja Jahrhunderte später damit an.

                Leider deutet der Name "Type-Hinting" darauf hin, dass es wohl wirklich nur Typ-Hinweise sind und nicht endlich mal eine strikte Typbindung (mit Option zum Casten).
                Das wäre aber ja auch zu schön gewesen.
                **********************************
                Nein, ich bin nicht die Signatur.
                Ich putze hier nur.
                **********************************

                Kommentar


                • #9
                  Vor allem, weil es ja eher C-style ist.
                  Java kam ja Jahrhunderte später damit an.
                  Na und? Ähnlich ist ähnlich :P

                  Leider deutet der Name "Type-Hinting" darauf hin, dass es wohl wirklich nur Typ-Hinweise sind und nicht endlich mal eine strikte Typbindung (mit Option zum Casten).
                  Das wäre aber ja auch zu schön gewesen.
                  "Endlich mal" ist vielleicht etwas das falsche Wort, weil PHP genau das ja garnicht will und nie wollte Es ist ja net so, dass es für die einfacher war, oder das es effizienter ist zu Kompilieren.

                  Ich hätte aber auch nichts dagegen. Finde es vielleicht am Besten, wenn es optional zuschaltbar ist. Dann aber nur per Funktion, weil sonst gibt es wieder Ärger mit 1500 verschiedenen php.ini's. Dann haben haben wir den gleichen Spass, wie jetzt mit register_globals: "Das Script läuft bei mir nicht!" - "Benutz die Forensuche und setze strict_types auf 1" .... -.-
                  Nicht jeder Fehler ist ein Bug.

                  Kommentar

                  Lädt...
                  X