====== Naming conventions ====== This is the internal naming convention for Platform. ===== PHP ===== ==== Classes and Objects ==== Classes are named with CamelCase and in singular case, so we have //User// and not //Users// Objects are named in lowercase and with _ between words, so: $user_property = new UserProperty(); ==== Functions ==== Functions are dromedaryCase such as //deleteUsers()// and are named according to the following scheme: ^add...|Add further information to an object, meaning that nothing is replaced but something is added.| ^attach...|Attach something to the object.| ^build...|Build something inside the object relying on information already present| ^calculate...|Make some kind of calculation. Typically something that's complex or can take some amount of time.| ^can...|Check if the object is able to do something or if the user is allowed to do something with the object| ^copy...|Copy some information or the entire object.| ^check...|Check if something external to the object but relevant for the object have occured.| ^decode...|Decode some information from something else. The opposite of encode.| ^delete...|Delete something. Typically the object| ^encode...|Encode some information into something else. The opposite of decode.| ^ensure...|Ensure that something is in place or have been performed, by doing it if it haven't already been done| ^find...|Find some information. Typically used for fuzzy searching. Otherwise we use get.| ^get...|Get some information either from inside the object or one or more objects in a static context.| ^is...|Check if the object is in a given state.| ^job...|A job typically called from the [[Job class]].| ^load...|Read data into the object.| ^on...|Used for specific events that take place in the object.| ^register...|Register some information to the object.| ^remove...|Removes something from the object or the object from something.| ^replace...|Replaces something with something else.| ^retrieve...|Retrieve some information from somewhere else. The opposite of store.| ^parse...|Input some data which is transformed to something else.| ^prepare...|Prepare some data to later usage.| ^render...|Renders something to the page.| ^reset...|Resets something to a previous state.| ^save...|Save data from the object.| ^set...|Set information in the object.| ^store...|Store some information somewhere else (ie not in the object). The opposite of retrieve.| ^validate...|Ensures that something is correct.| Functions are places alphabetically in files, except for //getAdditionalStructure// in Datarecord classes which is allowed to be first. ==== Variables ==== Variables are initialized to the same name as the class they are representing. Variables in several words are split by underscore _ ===== SQL ===== Tables are named after their corresponding classes, but in plural form, such as //users// ^Keys|Keys are named [object name]_id such as ''user_id''| ^Foreign keys|Foreign references are named [foreign object name]_ref such as ''user_ref''| In other cases the object name should never be part of the field names, so not //user_first_name// but only //first_name// Field names are lowercase and words are split by underscore _