note 110752 modified in function.class-uses by danbrown
| From: | danbrown@php.net | Date: | Thu, 06 Dec 2012 14:11:42 +0000 |
| Subject: | note 110752 modified in function.class-uses by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-192298@lists.php.net to get a copy of this message | ||
To get ALL traits including those used by parent classes and other traits, use this function:
<?php
function class_uses_deep($class, $autoload = true) {
$traits = [];
do {
$traits = array_merge(class_uses($class, $autoload), $traits);
} while($class = get_parent_class($class));
foreach ($traits as $trait => $same) {
$traits = array_merge(class_uses($trait, $autoload), $traits);
}
return array_unique($traits);
}
?>
--was--
To get ALL traits including those used by parent classes and other traits, use this function:
function class_uses_deep($class, $autoload = true) {
$traits = [];
do {
$traits = array_merge(class_uses($class, $autoload), $traits);
} while($class = get_parent_class($class));
foreach ($traits as $trait => $same) {
$traits = array_merge(class_uses($trait, $autoload), $traits);
}
return array_unique($traits);
}
http://php.net/manual/en/function.class-uses.php