PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 1.0.92
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v1.0.92
2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 1.1.0 All 77 releases
fluent-community / vendor / wpfluent / framework / src / WPFluent / Support / HelperFunctionsTrait.php

HelperFunctionsTrait.php in FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses 1.0.92, at vendor/wpfluent/framework/src/WPFluent/Support/HelperFunctionsTrait.php

56 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentCommunity\Framework\Support;
4
5
6 trait HelperFunctionsTrait
7 {
8 /**
9 * Get the class base name
10 *
11 * @param mixed $class
12 * @return string
13 */
14 public static function classBasename($class)
15 {
16 $class = is_object($class) ? get_class($class) : $class;
17 return basename(str_replace('\\', '/', $class));
18 }
19
20 /**
21 * Retrive all traits used by a class, including traits used by all of its parent classes.
22 * @param string|object $class
23 * @return array
24 */
25 public static function classUsesRecursive($class)
26 {
27 if (is_object($class)) {
28 $class = get_class($class);
29 }
30
31 $results = [];
32
33 foreach (array_reverse(class_parents($class)) + [$class => $class] as $class) {
34 $results += static::traitUsesRecursive($class);
35 }
36
37 return array_unique($results);
38 }
39
40 /**
41 * Retrieve all traits used by a trait
42 * @param string $trait
43 * @return array
44 */
45 public static function traitUsesRecursive($trait)
46 {
47 $traits = class_uses($trait) ?: [];
48
49 foreach ($traits as $trait) {
50 $traits += static::traitUsesRecursive($trait);
51 }
52
53 return $traits;
54 }
55 }
56