Dependence.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. /**
  3. * 模板里边添加依赖文件
  4. *
  5. */
  6. namespace Qii\View;
  7. class Dependence
  8. {
  9. public static $dependence = array();
  10. public static $blockCss = array();
  11. public static $blockHTML = array();
  12. public static $blockJS = array();
  13. public static $assignBlocks = array();
  14. public function __construct(){
  15. }
  16. public static function getAssignBlock($blockName)
  17. {
  18. if (isset(self::$assignBlocks[$blockName])) {
  19. return self::$assignBlocks[$blockName];
  20. }
  21. return;
  22. }
  23. public static function addCssBlock()
  24. {
  25. ob_start();
  26. }
  27. public static function addCssBlockEnd()
  28. {
  29. $block = ob_get_contents();
  30. ob_end_clean();
  31. self::$blockCss[] = $block;
  32. }
  33. public static function addHtmlBlock()
  34. {
  35. ob_start();
  36. }
  37. public static function addHtmlBlockEnd($assignBlock = null)
  38. {
  39. $block = ob_get_contents();
  40. ob_end_clean();
  41. if ($assignBlock) {
  42. self::$assignBlocks[$assignBlock] = $block;
  43. return;
  44. }
  45. self::$blockHTML[] = $block;
  46. }
  47. public static function addJsBlock()
  48. {
  49. ob_start();
  50. }
  51. public static function addJsBlockEnd()
  52. {
  53. $block = ob_get_contents();
  54. ob_end_clean();
  55. self::$blockJS[] = $block;
  56. }
  57. /**
  58. * 设置js文件依赖
  59. * @param string $file js文件路径
  60. */
  61. public static function setDependenceJS($file)
  62. {
  63. if (is_array($file)) {
  64. foreach ($file AS $f) {
  65. self::setDependenceJS($f);
  66. }
  67. } else {
  68. self::$dependence['blockLinkJs'][] = $file;
  69. }
  70. }
  71. /**
  72. * 设置js方法块依赖
  73. * @param string $file js文件路径
  74. */
  75. public static function setDependenceBlockJS($file)
  76. {
  77. if (is_array($file)) {
  78. foreach ($file AS $f) {
  79. self::setDependenceBlockJS($f);
  80. }
  81. } else {
  82. self::$dependence['blockJs'][] = $file;
  83. }
  84. }
  85. /**
  86. * 设置css文件依赖
  87. * @param string $file css文件路径
  88. */
  89. public static function setDependenceCss($file)
  90. {
  91. if (is_array($file)) {
  92. foreach ($file AS $f) {
  93. self::setDependenceCss($f);
  94. }
  95. } else {
  96. self::$dependence['blockLinkCss'][] = $file;
  97. }
  98. }
  99. /**
  100. * 设置css方法块依赖
  101. * @param string $file css文件路径
  102. */
  103. public static function setDependenceBlockCss($file)
  104. {
  105. if (is_array($file)) {
  106. foreach ($file AS $f) {
  107. self::setDependenceBlockCss($f);
  108. }
  109. } else {
  110. self::$dependence['blockCss'][] = $file;
  111. }
  112. }
  113. }