Coding Standards
General
Class, Method, Function, and Variable Names
- Intuitive
- Lower case
- Words separated with an underscore
- Do not abbreviate words unless the name becomes excessively long
- Indentation: use tabs instead of spaces
- Recommended to code with an editor showing invisible characters to prevent trailing spaces and tabs
Applications
Apps are stored in the fusionpbx/app
directory.
root.php
- Ensures the
document_root
server variable is set and then sets the include path from the root of the website.
app_config.php
Application
app_name
app_uuid
app_category
app_subcategory
app_description
Menu
- Defines location in the menu.
Permissions
- Defines the permissions the application uses and the default groups assigned to those permissions.
Data Schema
- Defines the structure of the field names and types.
app_defaults.php
- Runs during the install and when the upgrade schema is called.
app_languages.php
- Defines a PHP array of the words, phrases, and sentences used in the project.
Files
- Names
- Written in lower case
- Words are separated by an underscore
- Use full words when possible
- Do not prefix with
v_
(files currently prefixed this way will be renamed to remove the v_
)
- Use a program showing invisible spaces
- Eliminate tabs and spaces at the end of a line
- Use line feed only (no carriage return and line feed)
Database
Tables
- Prefixed with
v_
(this may be configurable in the future)
- Table names are plural unless the name is an acronym
- Use full words, not abbreviations
- UUIDs used for relational IDs instead of auto-increment identifiers
Fields
domain_uuid
- Primary key name is the non-plural name of the table without the
v_
prefix
- How to create the primary key name:
- For a table named
v_users
, remove the v_
, make it non-plural, and add _uuid
to the end of the field name. In this example, the primary key would be user_uuid
.
Code Documentation
http://www.phpdoc.org/