VuFind uses the PEAR Coding Standards for its PHP code. Several additional recommendations are enforced using the php-cs-fixer tool. For help with standards compliance, see the recommended tools page.
ESLint style enforcement in progress. Will use ESLint recommended with a few extra rules. Join in the conversation on this pull request.
Templates are a difficult mix of conditional PHP, HTML, and inline JS. Here's a few guidelines to help write clearer templates.
- 2 Space Indents
- Long php tags -
- Use short echo tags -
- Use if blocks instead of brackets and indent inside -
<?php if(): ?><?php endif; ?>
- Use Slots to simply buffering and conditional content, especially across templates
- If a loop is producing multiple buttons, links, etc. per item, consider making a subtemplate and using
- Don't call Model methods from Views, perform this logic in the Controllers
Many of these items and more are enforced and automatically corrected with PHP-CS-fixer.
No strict coding practices enforced, although the Code Guide by Bootstrap creator Mark Otto is a recommended read.
# editorconfig.org root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true [*.php] indent_size = 4