Programming Standards: Difference between revisions
(→PHP) |
(→PHP) |
||
| Line 113: | Line 113: | ||
</pre> | </pre> | ||
<html> | |||
<a href="google.com"> click </a> | <a href="google.com"> click </a> | ||
</html> | |||
Revision as of 19:27, 31 March 2025
Naming Convention
Constants
ROW_VALUE_DESCRIPTION_COLUMN_NAME_TABLE_NAME
CFI
- ObjectType
- - DESCRIPTION_EN_OBJECT_TYPE_CODE
- [Table]Type
- DESCRIPTION_EN_[TABLENAME]_TYPE_CODE
- i.e (FileType - MotionType - Code MOTION_FILE_TYPE_CODE)
Handling Service Response
Standards how to handle service response. Every main in any app will have algo asi:
async request(params, { transition = false, showMsg = true, setStatus = undefined, fullResponse = false } = {}) {
const serverResponse = await httpRequest(params, setStatus, REQUEST_BRIDGE_SERVICE);
if (!serverResponse?.success) console.error(serverResponse?.errorMsg ?? 'Backend service NULL');
return serverResponse?.success
? Promise.resolve(fullResponse
? serverResponse
: serverResponse.response)
: Promise.reject(serverResponse);
}
Por eso in the services should be handled like this:
[service]
.then((response) => {
// Handle successful service
})
.catch((err) => {
console.log("Error: ", err);
// Handle not successful service
});
Parameters
Javascript
Function, classes and methods...
/**
* @param {AppProps} parentProps
* @param {object} settings
**/
name(parentProps, {} = {}) {
}
Where settings means all other props.
PHP
Every PHP function:
<?php
/**
* example.php
* @author [Developer Name] <developer.name@seedburysquare.com>
* @copyright Seedbury Square, LLC. All Rights Reserved.
*
* @version YYYY-MM-DD Initial Version
*/
return Closure::fromCallable('example');
function example($params, $dbDriver = null)
{
try {
$validation = validateExampleParams($params);
if (!$validation['success']) return $validation;
$commit = !$dbDriver;
$dbDriver = $dbDriver ?? new DatabaseDriver([DATABASE_CONNECTION_CONSTANT], false);
if ($commit) $dbDriver->commit();
$response = [];
return uniformReturnObject(
$response['success'],
$response['success'] ? $response['result'] : null,
$response['success'] ? false : $response['errorMsg'],
$response['success'] ? false : $response['errorMsg']
);
} catch (\Throwable $e) {
error_log($e);
return <a href="https://wiki.seedburysquare.com/index.php/Helpers">uniformReturnObject</a>(false, null, $e->getMessage(), $e->getMessage());
}
};
function validateExampleParams($params)
{
$errors = [];
if (!isset($params['sessionDetails'])) $errors[] = '<li>sessionDetails is not set</li>';
$mandatory = [];
foreach ($mandatory as $prop) {
if (!isset($params[$prop])) {
$errors[] = "<li>Missing: $prop</li>";
}
}
$success = empty($errors);
$errorMsg = 'example<br>Errors: <br><ol>' . implode('', $errors) . '</ol>';
return uniformReturnObject(
$success,
null,
$success ? null : $errorMsg,
$success ? null : $errorMsg
);
}
<html> <a href="google.com"> click </a> </html>