353 of 410 menu

__callStatic metodu

__callStatic metodu PHP-də sehrli metodlardan biridir, mövcud olmayan və ya əlçatan olmayan statik metod çağırıldıqda avtomatik olaraq işə düşür. O, birinci parametrdə çağırılan metodun adını, ikinci parametrdə isə ötürülmüş arqumentlərin massivini qəbul edir.

Sintaksis

public static function __callStatic(string $name, array $arguments);

Nümunə

__callStatic metodu olan bir sinif yaradaq və mövcud olmayan statik metodu çağırmağa çalışaq:

<?php class MyClass { public static function __callStatic($name, $args) { echo "Called static method '$name' with arguments: "; print_r($args); } } MyClass::nonExistentMethod(1, 2, 3); ?>

Kodu icra etmənin nəticəsi:

Called static method 'nonExistentMethod' with arguments: [1, 2, 3]

Nümunə

Müxtəlif tipli obyektlərin yaradılması üçün sadə fasad həyata keçirək:

<?php class Factory { public static function __callStatic($name, $args) { if (strpos($name, 'create') === 0) { $className = substr($name, 6); return new $className(...$args); } throw new Exception("Method $name not found"); } } class User {} $user = Factory::createUser(); var_dump($user instanceof User); ?>

Kodu icra etmənin nəticəsi:

true

Həmçinin baxın

  • __call metodu,
    obyektin mövcud olmayan metod çağırışlarını interceptor edir
  • __get metodu,
    mövcud olmayan xüsusiyyətlərə müraciətləri interceptor edir
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et