Alternative files[] wildcard syntax for module info files
You are browsing documentation for an older version of Drupal, which is not supported any longer, and the information may not be correct. See current documentation for Contributed modules
xautoload, in addition to the other class loading stuff, enables a wildcard syntax for the files[] directive, in case you don't want the full transition to PSR-4. This allows to clean up your info files, but keep class files where they are, so you can do the real PSR-4 transition another day.
This has little performance implications, because the scan only happens when the class files registry is rebuilt.
Example: Views.
In views.info, the files[] stuff could be replaced with
; Only look at the top level.
files[] = handlers/*.inc
files[] = includes/*.inc
files[] = plugins/*.inc
; Scan the one-below-top level and deeper.
files[] = modules/*/**/*.inc
; Scan the top level and deeper.
files[] = tests/**/*.test
The /*/ wildcard can be any string between two slashes.
The /**/ wildcard can be either / or /*/ or /*/*/ etc.
A /** ending a string can be just anything starting with a slash.
A /*.inc ending a string is a filename with a ".inc" extension.
The original views.info:
12 files[] = handlers/views_handler_area.inc
13 files[] = handlers/views_handler_area_result.inc
14 files[] = handlers/views_handler_area_text.inc
15 files[] = handlers/views_handler_area_view.inc
16 files[] = handlers/views_handler_argument.inc
17 files[] = handlers/views_handler_argument_date.inc
18 files[] = handlers/views_handler_argument_formula.inc
19 files[] = handlers/views_handler_argument_many_to_one.inc
20 files[] = handlers/views_handler_argument_null.inc
21 files[] = handlers/views_handler_argument_numeric.inc
22 files[] = handlers/views_handler_argument_string.inc
23 files[] = handlers/views_handler_argument_group_by_numeric.inc
24 files[] = handlers/views_handler_field.inc
25 files[] = handlers/views_handler_field_counter.inc
26 files[] = handlers/views_handler_field_boolean.inc
27 files[] = handlers/views_handler_field_custom.inc
28 files[] = handlers/views_handler_field_date.inc
29 files[] = handlers/views_handler_field_entity.inc
30 files[] = handlers/views_handler_field_markup.inc
31 files[] = handlers/views_handler_field_math.inc
32 files[] = handlers/views_handler_field_numeric.inc
33 files[] = handlers/views_handler_field_prerender_list.inc
34 files[] = handlers/views_handler_field_time_interval.inc
35 files[] = handlers/views_handler_field_serialized.inc
36 files[] = handlers/views_handler_field_url.inc
37 files[] = handlers/views_handler_filter.inc
38 files[] = handlers/views_handler_filter_boolean_operator.inc
39 files[] = handlers/views_handler_filter_boolean_operator_string.inc
40 files[] = handlers/views_handler_filter_date.inc
41 files[] = handlers/views_handler_filter_equality.inc
42 files[] = handlers/views_handler_filter_group_by_numeric.inc
43 files[] = handlers/views_handler_filter_in_operator.inc
44 files[] = handlers/views_handler_filter_many_to_one.inc
45 files[] = handlers/views_handler_filter_numeric.inc
46 files[] = handlers/views_handler_filter_string.inc
47 files[] = handlers/views_handler_relationship.inc
48 files[] = handlers/views_handler_relationship_groupwise_max.inc
49 files[] = handlers/views_handler_sort.inc
50 files[] = handlers/views_handler_sort_date.inc
51 files[] = handlers/views_handler_sort_formula.inc
52 files[] = handlers/views_handler_sort_group_by_numeric.inc
53 files[] = handlers/views_handler_sort_menu_hierarchy.inc
54 files[] = handlers/views_handler_sort_random.inc
55 ; Includes
56 files[] = includes/base.inc
57 files[] = includes/handlers.inc
58 files[] = includes/plugins.inc
59 files[] = includes/view.inc
60 ; Modules
61 files[] = modules/aggregator/views_handler_argument_aggregator_fid.inc
62 files[] = modules/aggregator/views_handler_argument_aggregator_iid.inc
63 files[] = modules/aggregator/views_handler_argument_aggregator_category_cid.inc
64 files[] = modules/aggregator/views_handler_field_aggregator_title_link.inc
65 files[] = modules/aggregator/views_handler_field_aggregator_category.inc
66 files[] = modules/aggregator/views_handler_field_aggregator_item_description.inc
67 files[] = modules/aggregator/views_handler_field_aggregator_xss.inc
68 files[] = modules/aggregator/views_handler_filter_aggregator_category_cid.inc
69 files[] = modules/aggregator/views_plugin_row_aggregator_rss.inc
70 files[] = modules/comment/views_handler_argument_comment_user_uid.inc
71 files[] = modules/comment/views_handler_field_comment.inc
72 files[] = modules/comment/views_handler_field_comment_depth.inc
73 files[] = modules/comment/views_handler_field_comment_link.inc
74 files[] = modules/comment/views_handler_field_comment_link_approve.inc
75 files[] = modules/comment/views_handler_field_comment_link_delete.inc
76 files[] = modules/comment/views_handler_field_comment_link_edit.inc
77 files[] = modules/comment/views_handler_field_comment_link_reply.inc
78 files[] = modules/comment/views_handler_field_comment_node_link.inc
79 files[] = modules/comment/views_handler_field_comment_username.inc
80 files[] = modules/comment/views_handler_field_ncs_last_comment_name.inc
81 files[] = modules/comment/views_handler_field_ncs_last_updated.inc
82 files[] = modules/comment/views_handler_field_node_comment.inc
83 files[] = modules/comment/views_handler_field_node_new_comments.inc
84 files[] = modules/comment/views_handler_field_last_comment_timestamp.inc
85 files[] = modules/comment/views_handler_filter_comment_user_uid.inc
86 files[] = modules/comment/views_handler_filter_ncs_last_updated.inc
87 files[] = modules/comment/views_handler_filter_node_comment.inc
88 files[] = modules/comment/views_handler_sort_comment_thread.inc
89 files[] = modules/comment/views_handler_sort_ncs_last_comment_name.inc
90 files[] = modules/comment/views_handler_sort_ncs_last_updated.inc
91 files[] = modules/comment/views_plugin_row_comment_rss.inc
92 files[] = modules/comment/views_plugin_row_comment_view.inc
93 files[] = modules/contact/views_handler_field_contact_link.inc
94 files[] = modules/field/views_handler_field_field.inc
95 files[] = modules/field/views_handler_relationship_entity_reverse.inc
96 files[] = modules/field/views_handler_argument_field_list.inc
97 files[] = modules/field/views_handler_filter_field_list.inc
98 files[] = modules/filter/views_handler_field_filter_format_name.inc
99 files[] = modules/locale/views_handler_argument_locale_group.inc
100 files[] = modules/locale/views_handler_argument_locale_language.inc
101 files[] = modules/locale/views_handler_field_locale_group.inc
102 files[] = modules/locale/views_handler_field_locale_language.inc
103 files[] = modules/locale/views_handler_field_locale_link_edit.inc
104 files[] = modules/locale/views_handler_filter_locale_group.inc
105 files[] = modules/locale/views_handler_filter_locale_language.inc
106 files[] = modules/locale/views_handler_filter_locale_version.inc
107 files[] = modules/node/views_handler_argument_dates_various.inc
108 files[] = modules/node/views_handler_argument_node_language.inc
109 files[] = modules/node/views_handler_argument_node_nid.inc
110 files[] = modules/node/views_handler_argument_node_type.inc
111 files[] = modules/node/views_handler_argument_node_vid.inc
112 files[] = modules/node/views_handler_argument_node_uid_revision.inc
113 files[] = modules/node/views_handler_field_history_user_timestamp.inc
114 files[] = modules/node/views_handler_field_node.inc
115 files[] = modules/node/views_handler_field_node_link.inc
116 files[] = modules/node/views_handler_field_node_link_delete.inc
117 files[] = modules/node/views_handler_field_node_link_edit.inc
118 files[] = modules/node/views_handler_field_node_revision.inc
119 files[] = modules/node/views_handler_field_node_revision_link_delete.inc
120 files[] = modules/node/views_handler_field_node_revision_link_revert.inc
121 files[] = modules/node/views_handler_field_node_path.inc
122 files[] = modules/node/views_handler_field_node_type.inc
123 files[] = modules/node/views_handler_filter_history_user_timestamp.inc
124 files[] = modules/node/views_handler_filter_node_access.inc
125 files[] = modules/node/views_handler_filter_node_status.inc
126 files[] = modules/node/views_handler_filter_node_type.inc
127 files[] = modules/node/views_handler_filter_node_uid_revision.inc
128 files[] = modules/node/views_plugin_argument_default_node.inc
129 files[] = modules/node/views_plugin_argument_validate_node.inc
130 files[] = modules/node/views_plugin_row_node_rss.inc
131 files[] = modules/node/views_plugin_row_node_view.inc
132 files[] = modules/profile/views_handler_field_profile_date.inc
133 files[] = modules/profile/views_handler_field_profile_list.inc
134 files[] = modules/profile/views_handler_filter_profile_selection.inc
135 files[] = modules/search/views_handler_argument_search.inc
136 files[] = modules/search/views_handler_field_search_score.inc
137 files[] = modules/search/views_handler_filter_search.inc
138 files[] = modules/search/views_handler_sort_search_score.inc
139 files[] = modules/search/views_plugin_row_search_view.inc
140 files[] = modules/statistics/views_handler_field_accesslog_path.inc
141 files[] = modules/system/views_handler_argument_file_fid.inc
142 files[] = modules/system/views_handler_field_file.inc
143 files[] = modules/system/views_handler_field_file_extension.inc
144 files[] = modules/system/views_handler_field_file_filemime.inc
145 files[] = modules/system/views_handler_field_file_uri.inc
146 files[] = modules/system/views_handler_field_file_status.inc
147 files[] = modules/system/views_handler_filter_file_status.inc
148 files[] = modules/taxonomy/views_handler_argument_taxonomy.inc
149 files[] = modules/taxonomy/views_handler_argument_term_node_tid.inc
150 files[] = modules/taxonomy/views_handler_argument_term_node_tid_depth.inc
151 files[] = modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc
152 files[] = modules/taxonomy/views_handler_argument_vocabulary_vid.inc
153 files[] = modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc
154 files[] = modules/taxonomy/views_handler_field_taxonomy.inc
155 files[] = modules/taxonomy/views_handler_field_term_node_tid.inc
156 files[] = modules/taxonomy/views_handler_field_term_link_edit.inc
157 files[] = modules/taxonomy/views_handler_filter_term_node_tid.inc
158 files[] = modules/taxonomy/views_handler_filter_term_node_tid_depth.inc
159 files[] = modules/taxonomy/views_handler_filter_vocabulary_vid.inc
160 files[] = modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc
161 files[] = modules/taxonomy/views_handler_relationship_node_term_data.inc
162 files[] = modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc
163 files[] = modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc
164 ;files[] = modules/translation/views_handler_argument_node_language.inc
165 files[] = modules/system/views_handler_filter_system_type.inc
166 files[] = modules/translation/views_handler_argument_node_tnid.inc
167 files[] = modules/translation/views_handler_field_node_language.inc
168 files[] = modules/translation/views_handler_field_node_link_translate.inc
169 files[] = modules/translation/views_handler_field_node_translation_link.inc
170 files[] = modules/translation/views_handler_filter_node_language.inc
171 files[] = modules/translation/views_handler_filter_node_tnid.inc
172 files[] = modules/translation/views_handler_filter_node_tnid_child.inc
173 files[] = modules/translation/views_handler_relationship_translation.inc
174 files[] = modules/upload/views_handler_field_upload_description.inc
175 files[] = modules/upload/views_handler_field_upload_fid.inc
176 files[] = modules/upload/views_handler_filter_upload_fid.inc
177 files[] = modules/user/views_handler_argument_user_uid.inc
178 files[] = modules/user/views_handler_argument_users_roles_rid.inc
179 files[] = modules/user/views_handler_field_user.inc
180 files[] = modules/user/views_handler_field_user_language.inc
181 files[] = modules/user/views_handler_field_user_link.inc
182 files[] = modules/user/views_handler_field_user_link_cancel.inc
183 files[] = modules/user/views_handler_field_user_link_edit.inc
184 files[] = modules/user/views_handler_field_user_mail.inc
185 files[] = modules/user/views_handler_field_user_name.inc
186 files[] = modules/user/views_handler_field_user_permissions.inc
187 files[] = modules/user/views_handler_field_user_picture.inc
188 files[] = modules/user/views_handler_field_user_roles.inc
189 files[] = modules/user/views_handler_filter_user_current.inc
190 files[] = modules/user/views_handler_filter_user_name.inc
191 files[] = modules/user/views_handler_filter_user_permissions.inc
192 files[] = modules/user/views_handler_filter_user_roles.inc
193 files[] = modules/user/views_plugin_argument_default_current_user.inc
194 files[] = modules/user/views_plugin_argument_default_user.inc
195 files[] = modules/user/views_plugin_argument_validate_user.inc
196 ; Plugins
197 files[] = plugins/views_plugin_access.inc
198 files[] = plugins/views_plugin_access_none.inc
199 files[] = plugins/views_plugin_access_perm.inc
200 files[] = plugins/views_plugin_access_role.inc
201 files[] = plugins/views_plugin_argument_default.inc
202 files[] = plugins/views_plugin_argument_default_php.inc
203 files[] = plugins/views_plugin_argument_default_fixed.inc
204 files[] = plugins/views_plugin_argument_default_raw.inc
205 files[] = plugins/views_plugin_argument_validate.inc
206 files[] = plugins/views_plugin_argument_validate_numeric.inc
207 files[] = plugins/views_plugin_argument_validate_php.inc
208 files[] = plugins/views_plugin_cache.inc
209 files[] = plugins/views_plugin_cache_none.inc
210 files[] = plugins/views_plugin_cache_time.inc
211 files[] = plugins/views_plugin_display.inc
212 files[] = plugins/views_plugin_display_attachment.inc
213 files[] = plugins/views_plugin_display_block.inc
214 files[] = plugins/views_plugin_display_default.inc
215 files[] = plugins/views_plugin_display_extender.inc
216 files[] = plugins/views_plugin_display_feed.inc
217 files[] = plugins/views_plugin_exposed_form_basic.inc
218 files[] = plugins/views_plugin_exposed_form.inc
219 files[] = plugins/views_plugin_exposed_form_input_required.inc
220 files[] = plugins/views_plugin_display_page.inc
221 files[] = plugins/views_plugin_localization_core.inc
222 files[] = plugins/views_plugin_localization.inc
223 files[] = plugins/views_plugin_localization_none.inc
224 files[] = plugins/views_plugin_pager.inc
225 files[] = plugins/views_plugin_pager_full.inc
226 files[] = plugins/views_plugin_pager_mini.inc
227 files[] = plugins/views_plugin_pager_none.inc
228 files[] = plugins/views_plugin_pager_some.inc
229 files[] = plugins/views_plugin_query.inc
230 files[] = plugins/views_plugin_query_default.inc
231 files[] = plugins/views_plugin_row.inc
232 files[] = plugins/views_plugin_row_fields.inc
233 files[] = plugins/views_plugin_style.inc
234 files[] = plugins/views_plugin_style_default.inc
235 files[] = plugins/views_plugin_style_grid.inc
236 files[] = plugins/views_plugin_style_list.inc
237 files[] = plugins/views_plugin_style_jump_menu.inc
238 files[] = plugins/views_plugin_style_rss.inc
239 files[] = plugins/views_plugin_style_summary.inc
240 files[] = plugins/views_plugin_style_summary_jump_menu.inc
241 files[] = plugins/views_plugin_style_summary_unformatted.inc
242 files[] = plugins/views_plugin_style_table.inc
243
244 ; Tests
245 files[] = tests/handlers/views_handler_area_text.test
246 files[] = tests/handlers/views_handler_argument_null.test
247 files[] = tests/handlers/views_handler_field_boolean.test
248 files[] = tests/handlers/views_handler_field_custom.test
249 files[] = tests/handlers/views_handler_field_counter.test
250 files[] = tests/handlers/views_handler_field_date.test
251 files[] = tests/handlers/views_handler_field_file_size.test
252 files[] = tests/handlers/views_handler_field_math.test
253 files[] = tests/handlers/views_handler_field_url.test
254 files[] = tests/handlers/views_handler_field_xss.test
255 files[] = tests/handlers/views_handler_filter_date.test
256 files[] = tests/handlers/views_handler_filter_equality.test
257 files[] = tests/handlers/views_handler_filter_in_operator.test
258 files[] = tests/handlers/views_handler_filter_numeric.test
259 files[] = tests/handlers/views_handler_filter_string.test
260 files[] = tests/handlers/views_handler_sort_random.test
261 files[] = tests/handlers/views_handler_sort_date.test
262 files[] = tests/handlers/views_handler_sort.test
263 files[] = tests/test_plugins/views_test_plugin_access_test_dynamic.inc
264 files[] = tests/test_plugins/views_test_plugin_access_test_static.inc
265 files[] = tests/styles/views_plugin_style_jump_menu.test
266 files[] = tests/styles/views_plugin_style.test
267 files[] = tests/views_access.test
268 files[] = tests/views_analyze.test
269 files[] = tests/views_basic.test
270 files[] = tests/views_argument_default.test
271 files[] = tests/views_argument_validator.test
272 files[] = tests/views_exposed_form.test
273 files[] = tests/views_glossary.test
274 files[] = tests/views_groupby.test
275 files[] = tests/views_handlers.test
276 files[] = tests/views_module.test
277 files[] = tests/views_pager.test
278 files[] = tests/views_plugin_localization_test.inc
279 files[] = tests/views_translatable.test
280 files[] = tests/views_query.test
281 files[] = tests/views_upgrade.test
282 files[] = tests/views_test.views_default.inc
283 files[] = tests/comment/views_handler_argument_comment_user_uid.test
284 files[] = tests/comment/views_handler_filter_comment_user_uid.test
285 files[] = tests/user/views_user_argument_default.test
286 files[] = tests/user/views_user_argument_validate.test
287 files[] = tests/user/views_user.test
288 files[] = tests/views_cache.test
289 files[] = tests/views_view.test
290 files[] = tests/views_ui.test
Sick, eh?
Disclaimer: Probably this does not work for the "tests" stuff, because drupal.org testbot does not have xautoload installed.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion