1 | <?php |
||
12 | class Asset |
||
13 | { |
||
14 | |||
15 | /** |
||
16 | * Путь до manifest файла |
||
17 | * @var string |
||
18 | */ |
||
19 | public static $manifestFilePath = 'sam.json'; |
||
20 | |||
21 | /** |
||
22 | * Объект менеджера ассетов |
||
23 | * @var AssetManager |
||
24 | */ |
||
25 | protected static $assetManager; |
||
26 | |||
27 | /** |
||
28 | * Включить режим разработки |
||
29 | */ |
||
30 | public static function enableDevelopmentMode() |
||
34 | |||
35 | /** |
||
36 | * Выключить режим разработки |
||
37 | */ |
||
38 | public static function disableDevelopmentMode() |
||
42 | |||
43 | /** |
||
44 | * Включен ли режим разработки |
||
45 | * @return bool |
||
46 | */ |
||
47 | public static function isDevelopmentModeEnabled() |
||
51 | |||
52 | /** |
||
53 | * Использовать JavaScript Asset или js по его url |
||
54 | * @param string $assetNameOrUrl - имя asset`а или url |
||
55 | */ |
||
56 | public static function useJs($assetNameOrUrl) |
||
60 | |||
61 | /** |
||
62 | * Использовать CSS Asset или CSS по его url |
||
63 | * @param string $assetNameOrUrl - имя asset`а или url |
||
64 | */ |
||
65 | public static function useCss($assetNameOrUrl) |
||
69 | |||
70 | /** |
||
71 | * Добавить inline Css код |
||
72 | * @param string $css |
||
73 | */ |
||
74 | public static function addInlineCss($css) |
||
78 | |||
79 | /** |
||
80 | * Добавить inline JavaScript код |
||
81 | * @param string $js |
||
82 | */ |
||
83 | public static function addInlineJs($js) |
||
87 | |||
88 | /** |
||
89 | * Получить html теги script используемых JavaScript asset`ов |
||
90 | * @param array $attributes Массив атрибутов тега |
||
91 | * ['Имя атрибута' => 'значение'] |
||
92 | * ['type' => 'text/javascript'] |
||
93 | * ['атрибут'] |
||
94 | * ['async', 'defer'] |
||
95 | * @return string |
||
96 | */ |
||
97 | public static function renderJs(array $attributes = []) |
||
101 | |||
102 | /** |
||
103 | * Получить html теги link с используемыми CSS asset`ами |
||
104 | * @return string |
||
105 | */ |
||
106 | public static function renderCss() |
||
110 | |||
111 | /** |
||
112 | * Получить теги style с inline css или пустую строку если их нет |
||
113 | * @return string |
||
114 | */ |
||
115 | public static function renderInlineCss() |
||
119 | |||
120 | /** |
||
121 | * Получить теги script с inline js или пустую строку если их нет |
||
122 | * @return string |
||
123 | */ |
||
124 | public static function renderInlineJs() |
||
128 | |||
129 | /** |
||
130 | * Получить используемые css ассеты |
||
131 | * @return array |
||
132 | */ |
||
133 | public static function getUsedCss() |
||
137 | |||
138 | /** |
||
139 | * Получить используемые js asset`ы |
||
140 | * @return array |
||
141 | */ |
||
142 | public static function getUsedJs() |
||
146 | |||
147 | /** |
||
148 | * Удалить используемый css asset по его названию или url |
||
149 | * @param string $cssAssetNameOrUrl - название asset`а или url |
||
150 | */ |
||
151 | public static function removeCss($cssAssetNameOrUrl) |
||
155 | |||
156 | /** |
||
157 | * Удалить используемый js asset по его названию или url |
||
158 | * @param string $jsAssetNameOrUrl название asset`а или url |
||
159 | */ |
||
160 | public static function removeJs($jsAssetNameOrUrl) |
||
164 | |||
165 | /** |
||
166 | * Удалить все используемые js asset`ы |
||
167 | */ |
||
168 | public static function removeAlljs() |
||
172 | |||
173 | /** |
||
174 | * Удалить все используемые css asset`ы |
||
175 | */ |
||
176 | public static function removeAllCss() |
||
180 | |||
181 | /** |
||
182 | * Получить AssetManager |
||
183 | * @return AssetManager |
||
184 | */ |
||
185 | protected static function assetManager() |
||
194 | } |
||
195 |