354 of 410 menu

Η μέθοδος __invoke

Η μαγική μέθοδος __invoke επιτρέπει σε ένα στιγμιότυπο κλάσης να κληθεί ως συνάρτηση. Όταν ένα αντικείμενο καλείται ως συνάρτηση, η PHP καλεί αυτόματα αυτή τη μέθοδο. Η μέθοδος μπορεί να δέχεται παραμέτρους και να επιστρέφει τιμή, όπως μια συνηθισμένη συνάρτηση.

Σύνταξη

class MyClass { public function __invoke(...$args) { // υλοποίηση } }

Παράδειγμα

Ας δημιουργήσουμε μια κλάση με μέθοδο __invoke και ας καλέσουμε το αντικείμενο ως συνάρτηση:

<?php class Greeter { public function __invoke($name) { return "Hello, $name!"; } } $greet = new Greeter(); echo $greet('John'); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

'Hello, John!'

Παράδειγμα

Χρήση του __invoke με πολλαπλές παραμέτρους:

<?php class Calculator { public function __invoke($a, $b) { return $a + $b; } } $calc = new Calculator(); echo $calc(5, 3); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

8

Παράδειγμα

Έλεγχος αν ένα αντικείμενο είναι callable χρησιμοποιώντας την is_callable:

<?php class Test {} $obj1 = new Test(); $obj2 = new class { public function __invoke() {} }; var_dump(is_callable($obj1)); var_dump(is_callable($obj2)); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

false true

Δείτε επίσης

  • η μέθοδος __construct,
    που είναι ο κατασκευαστής της κλάσης
  • η μέθοδος __toString,
    που επιτρέπει σε ένα αντικείμενο να αναπαρασταθεί ως συμβολοσειρά
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη