class-wp-dependency.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. /**
  3. * Dependencies API: _WP_Dependency class
  4. *
  5. * @since 4.7.0
  6. *
  7. * @package WordPress
  8. * @subpackage Dependencies
  9. */
  10. /**
  11. * Class _WP_Dependency
  12. *
  13. * Helper class to register a handle and associated data.
  14. *
  15. * @access private
  16. * @since 2.6.0
  17. */
  18. class _WP_Dependency {
  19. /**
  20. * The handle name.
  21. *
  22. * @access public
  23. * @since 2.6.0
  24. * @var null
  25. */
  26. public $handle;
  27. /**
  28. * The handle source.
  29. *
  30. * @access public
  31. * @since 2.6.0
  32. * @var null
  33. */
  34. public $src;
  35. /**
  36. * An array of handle dependencies.
  37. *
  38. * @access public
  39. * @since 2.6.0
  40. * @var array
  41. */
  42. public $deps = array();
  43. /**
  44. * The handle version.
  45. *
  46. * Used for cache-busting.
  47. *
  48. * @access public
  49. * @since 2.6.0
  50. * @var bool|string
  51. */
  52. public $ver = false;
  53. /**
  54. * Additional arguments for the handle.
  55. *
  56. * @access public
  57. * @since 2.6.0
  58. * @var null
  59. */
  60. public $args = null; // Custom property, such as $in_footer or $media.
  61. /**
  62. * Extra data to supply to the handle.
  63. *
  64. * @access public
  65. * @since 2.6.0
  66. * @var array
  67. */
  68. public $extra = array();
  69. /**
  70. * Setup dependencies.
  71. *
  72. * @since 2.6.0
  73. */
  74. public function __construct() {
  75. @list( $this->handle, $this->src, $this->deps, $this->ver, $this->args ) = func_get_args();
  76. if ( ! is_array($this->deps) )
  77. $this->deps = array();
  78. }
  79. /**
  80. * Add handle data.
  81. *
  82. * @access public
  83. * @since 2.6.0
  84. *
  85. * @param string $name The data key to add.
  86. * @param mixed $data The data value to add.
  87. * @return bool False if not scalar, true otherwise.
  88. */
  89. public function add_data( $name, $data ) {
  90. if ( !is_scalar($name) )
  91. return false;
  92. $this->extra[$name] = $data;
  93. return true;
  94. }
  95. }