Junior
რომელი ჯადოსნური მეთოდები იცით კლასი?
sobes.tech AI
პასუხი AI-სგან
PHP-ში არსებობს რიგი სპეციალური მეთოდები, რომლებიც სახელწოდებით "მაგიური". ისინი ავტომატურად იძახებენ გარკვეული მოქმედებების დროს კლასის ობიექტებთან. აქ არის ზოგიერთი მათგანი:
__construct(): იძახებენ ახალი კლასის ინსტანსის შექმნისას. გამოიყენება ობიექტის ინიციალიზაციისთვის.__destruct(): იძახებენ ობიექტის განადგურებისას (მაგალითად, სკრიპტის შესრულების დასრულებისას ანunset()-ის პირდაპირი გამოძახებისას). გამოიყენება რესურსების გათავისუფლებისთვის.__call($name, $arguments): იძახებენ, როდესაც ცდილობთ დაუკავშირდეთ მიუწვდომელ (მიუწვდომელი მიმდინარე კონტექსტში) მეთოდს.$name- გამოძახებული მეთოდის სახელი,$arguments- მისი არგუმენტების მასივი.__callStatic($name, $arguments): ანალოგია__call(), მაგრამ იძახებენ, როდესაც ცდილობთ დაუკავშირდეთ მიუწვდომელ სტატიკურ მეთოდს.__get($name): იძახებენ, როდესაც ცდილობთ წაიკითხოთ მიუწვდომელი თვისება.$name- თვისების სახელი.__set($name, $value): იძახებენ, როდესაც ცდილობთ მიუწვდომელ თვისებაში ჩაწერას.$name- თვისების სახელი,$value- გადაცემული მნიშვნელობა.__isset($name): იძახებენ, როდესაც გსურთ შეამოწმოთ მიუწვდომელი თვისების არსებობაisset()ანempty()-ის გამოყენებით.$name- თვისების სახელი.__unset($name): იძახებენ, როდესაც ცდილობთ მიუწვდომელი თვისების წაშლასunset()-ის გამოყენებით.$name- თვისების სახელი.__sleep(): იძახებენ, როდესაც ობიექტი სერიულიალიზაციის წინserialize()-ის გამოყენებით. უნდა დააბრუნოს თვისებების სახელების მასივი, რომელიც სერიულიალიზდება.__wakeup(): იძახებენ, როდესაც ობიექტი დაუყოვნებლივ დესერიულიალიზდებაunserialize()-ის გამოყენებით. შეიძლება გამოყენებულ იქნას კავშირების ან რესურსების აღდგენისათვის.__toString(): იძახებენ, როდესაც ცდილობთ ობიექტის გადაქცევას სტრიქონად (მაგალითად,echo-ით გამოსატანად). უნდა დააბრუნოს ობიექტის სტრიქონული წარმოდგენა.__invoke(...$args): იძახებენ, როდესაც ცდილობთ ობიექტის გამოყენებას როგორც ფუნქცია.__set_state(array $properties): იძახებენ, როდესაც აღდგენთ ობიექტსvar_export()-ის გამოყენებით. იღებსvar_export()-ით ექსპორტირებულ თვისებების მასივს.__clone(): იძახებენ, როდესაც კლონავთ ობიექტსclone-ის გამოყენებით. გამოიყენება ღრმად კოპირებისათვის.
მნიშვნელოვანია ამ მეთოდების ფრთხილად გამოყენება, რადგან მათი არასწორი გამოყენება შეიძლება გამოიწვიოს კოდის გაუთვალისწინებელი ქცევა.