ფუნქცია class_uses
ფუნქცია class_uses აბრუნებს მასივს ტრეიტების სახელებით,
რომლებსაც იყენებს მითითებული კლასი ან ობიექტი. ფუნქცია იღებს
ერთ სავალდებულო პარამეტრს - კლასს ან ობიექტს, და ერთ არასავალდებულო
პარამეტრს, რომელიც განსაზღვრავს საჭიროა თუ არა მშობელი კლასების ტრეიტების ჩართვა.
სინტაქსი
class_uses(object|string $class, bool $autoload = true): array
მაგალითი
შევქმნათ რამდენიმე ტრეიტი და კლასი, რომელიც მათ იყენებს:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
კოდის შესრულების შედეგი:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
მაგალითი
შევამოწმოთ ტრეიტები ობიექტისთვის:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
კოდის შესრულების შედეგი:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
მაგალითი
მუშაობა მემკვიდრეობითობასთან:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
კოდის შესრულების შედეგი:
[
'TraitB' => 'TraitB'
]
იხილეთ აგრეთვე
-
ფუნქცია
class_parents,
რომელიც აბრუნებს მშობელ კლასებს -
ფუნქცია
class_implements,
რომელიც აბრუნებს კლასის ინტერფეისებს