Junior
Sinifin hansı sehrli metodlarını bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
PHP-də "sehirli" adlanan bir sıra xüsusi metodlar mövcuddur. Onlar sinif obyektləri ilə müəyyən hərəkətlər zamanı avtomatik olaraq çağrılır. Bəziləri:
__construct(): Sinifin yeni nümunəsi yaradıldıqda çağrılır. Obyekti başlatmaq üçün istifadə olunur.__destruct(): Obyekt məhv edildikdə çağrılır (məsələn, skriptin icrası bitdikdə və ya açıq şəkildəunset()çağırıldıqda). Resursları sərbəst buraxmaq üçün istifadə olunur.__call($name, $arguments): Əldə olunmayan (mövcud kontekstdə görünməyən) obyekt metodunu çağırmağa cəhd edildikdə çağrılır.$nameçağırılan metodun adı,$argumentsonun arqumentlərinin massividir.__callStatic($name, $arguments):__call()ilə oxşardır, lakin əlçatan olmayan statik metodu çağırmağa cəhd edildikdə çağrılır.__get($name): Əldə olunmayan obyekt xüsusiyyətini oxumağa cəhd edildikdə çağrılır.$namexüsusiyyətin adıdır.__set($name, $value): Əldə olunmayan xüsusiyyətə yazmağa cəhd edildikdə çağrılır.$namexüsusiyyətin adı,$valueisə təyin olunan dəyərdir.__isset($name):isset()və yaempty()istifadə edilərək mövcud olmayan xüsusiyyətin olub-olmamasını yoxlamaqda çağrılır.$namexüsusiyyətin adıdır.__unset($name):unset()istifadə edilərək əlçatan olmayan xüsusiyyəti silməyə cəhd edildikdə çağrılır.$namexüsusiyyətin adıdır.__sleep(): Obyekt serializasiya edilməzdən əvvəl çağrılır. Serializasiya ediləcək xüsusiyyətlərin adlarını ehtiva edən massiv qaytarmalıdır.__wakeup():unserialize()ilə deserializasiya edildikdən sonra dərhal çağrılır. Bağlantıları və ya resursları bərpa etmək üçün istifadə edilə bilər.__toString(): Ob'ektin sətirə çevrilməsi cəhdində çağrılır (məsələn,echoilə çıxış zamanı). Ob'ektin sətir nümayişini qaytarmalıdır.__invoke(...$args): Ob'ektin funksiya kimi istifadə edilməyə cəhdində çağrılır.__set_state(array $properties):var_export()ilə ob'ektin bərpasında çağrılır.var_export()tərəfindən ixrac olunan xüsusiyyətlərin massivini alır.__clone():cloneilə ob'ektin klonlanması zamanı çağrılır. Dərin nüsxələr üçün istifadə olunur (məsələn, ob'ekt daxilində obyektlər).
Bu metodlardan ehtiyatla istifadə etmək vacibdir, çünki düzgün olmayan istifadə kodun gözlənilməz davranışlarına səbəb ola bilər.