Escolar Documentos
Profissional Documentos
Cultura Documentos
CONSTRUCCIÓN
DEFINICIONES
1. INTRODUCCIÓN
En el presente documento se recogen una serie de sugerencias para llevar un
desarrollo de aplicaciones en lenguaje PHP más ordenado y que dé como
resultado aplicaciones que permitan una mayor facilidad de trabajo,
mantenibilidad, sostenibilidad y escalabilidad.
En este documento se intenta cubrir entre otros elementos, desde el patrón de
diseño que se debe utilizar, organización de directorios, los nombres de los
ficheros, identación, comentarios, declaraciones, sentencias, espacios en
blanco.
Con todo esto se busca que cada persona que ingrese nueva al desarrollo en
PHP logre una fácil adaptación y que de igual forma no le sea demasiado
complicado el tomar para mantenimiento cualquier desarrollo que otro haya
realizado; de esta forma también facilitar la difusión del conocimiento entro los
diferentes desarrollos.
2. ANTECEDENTES
La información aquí presentada e tomada como referencia de otras
documentos existentes sobre estándares de desarrollo, se adicionan en este
documento para tener referencia de la importancia de lograr una unificación
del trabajo de todos y cada uno de los miembros del equipo de desarrollo.
Entre las razones a destacar por las que se deben seguir unas normas, están:
• El 80% del costo del ciclo de vida de una pieza de software es el
mantenimiento.
• Raramente un software es mantenido por el autor original.
• Las convenciones incorporan legibilidad al código, permitiendo que los
ingenieros entiendan el nuevo código mucho más rápidamente.
• Si se proporciona el software como un producto, ha de asegurarse que
está igual de empaquetado y limpio que cualquier otro que se haya hecho.
3. Patrón de diseño
Para lograr una mayor organización en el desarrollo y con el fin de poder
delimitar claramente las porciones de código que se manejan en las
aplicaciones se plantea seguir el patrón de diseño MVC (Modelo-vista-
controlador), de esta forma se separa todo lo que es código de presentación
HTML, lógica de negocio y acceso a base de datos.
Para esto se plantean las siguientes pautas:
• Todo método que requiera acceso directo a la base de datos debe estar
dentro del archivo de modelo.
• Toda restricción de acceso o almacenamiento en base de datos debe estar
dentro del archivo de modelo.
• Todo código que sea HTML debe estar definido en el archivo de vista.
• La comunicación entre los archivos modelo y los archivos vista se debe
desarrollar en al archivo controlador.
Dentro del análisis de este patrón se encontró como herramienta útil para
desarrollo la librería xajax, el cual facilita el desarrollo del archivo controlador
facilitando la transferencia de información entre modelo y vista, adicional
también facilita la inclusión de AJAX dentro de las aplicaciones y de esta forma
lograr comunicación asíncrona entre cliente y servidor y así no tener que
recargar las páginas por completo.
Aplicación
Directorio Resumen
Administración En esta directorio se adicionarían los módulos que tengan
como referencia tareas por ejemplo de CRUD dentro de la
aplicación.
Config Directorio para el almacenamiento de los archivos de
configuración requeridos para el correcto funcionamiento
de la aplicación.
Includes Directorio en el cual se deben colocar los archivos que se
deben incluir a lo largo de la aplicación para su
funcionamiento. Ejemplo: sql_db.php.
En este directorio debe existir un subdirectorio javascript
para colocar aquí los archivos javascript de uso general en
toda la aplicación.
Modulos Directorio en el cual se realizará el almacenamiento de los
diferentes módulos que componen la aplicación.
Library Directorio en el cual se incluirán las clases o librerías
externas que se utilizan dentro de la aplicación. Ejemplo:
PEAR, xajax, etc.
Modulo
Directorio Resumen
Controlador Directorio de almacenamiento de archivo controlador del
módulo.
javascript Directorio para incluir los archivos javascript que son
utilizados específicamente por el módulo.
Css Directorio para almacenamiento de los archivos de estilos
específicos del módulo.
modelo Directorio en el cual se almacenarán los archivos que
realizan las operaciones o que contienen las operaciones
directas sobre base de datos.
vista Directorio par almacenamiento de los archivos que sean
html.
5. Librerías
Se plantea el uso de las siguiente librerías para el trabajo en aplicaciones,
estas se sugieren dado que ya tienen un camino recorrido en cuanto a pruebas
y rendimiento.
• PEAR, conjunto de clases que ofrecen diversas funcionalidades que
facilitan la presentación de información.
• XAJAX, librería utilizada para utilización de Ajax en una forma más clara y
sencilla.
• Jquery, librería utilizada para el manejo de eventos dentro de los archivos
html.
6. Nombramiento de archivos
Los archivos serán nombrados de la siguiente forma:
Todo en minúscula, separador de palabra guion bajo.
Ejemplo:
ingreso_detalle
Etiquetas:
Versión 1.0 Mayo 18 de 2007
Página 7 de 18
PROCESO DE
CONSTRUCCIÓN
DEFINICIONES
■ @brief Descripción
Ejemplo:
■ @brief Función inicial para cambiar el formato de las horas
y las fechas en oracle
Ejemplo:
■ @param String $usu Nombre del usuario
■ @param Int $id Gabinete Tipologia
Ejemplo:
■ @return $String Devolvemos una cadena de caracteres
■ @note Descripción
Ejemplo:
■ @note Esta es una nota de prueba
■ @see nombreMetodo()
Ejemplo:
■ @see loadModel()
■ @throws CHttpException
Clases:
Ejemplo:
● @brief ConsultasController Clase del controlador para el módulo de las
consultas en Altius
La herramienta que se utilizará para generar la documentación es DOXYGEN, la
cual tiene un manual de instalación, pasos y demás en la siguiente ruta:
https://drive.google.com/a/compuredes.com.co/?tab=mo#folders/0BwK-
xeYeez1qczdyTXNFV0luZlE
12. Declaraciones
Clases
En la misma línea de la declaración.
Ejemplo:
class nombreClase () {
}
Métodos
En la misma línea.
Ejemplo:
nombreMetodo () {
}
14. Alineaciones
Alineación while
Ejemplo:
do {
} while()
Alineación catch
Ejemplo:
try {
} catch (Exception $e) {
Los puntos del 10 al 15 deben ser configurados en cada uno de los editores
utilizados para la codificación. Los valores aquí presentados viene por defecto
en el IDE Netbeans.
TNEM_CONFIGURACION
La cual tiene la siguiente estructura.
Ejemplos:
comodatario</campo>
<campo id="629">Identificación
comodatario</campo>
<campo id="616">Nombre del
paciente</campo>
<campo id="630">Identificación
paciente</campo>
<campo id="607">Dirección</campo>
<campo id="631">Ciudad</campo>
<campo id="632">Entidad
autorizante</campo>
<campo id="633">Bienes</campo>
<campo id="634">Fecha clausulas del
servicio</campo>
<campo id="635">Firma del
comodatario</campo>
<campo id="615">Cedula</campo>
<campo id="636">Huella
dactilar</campo>
</checklist>
<checklist title="Pagare">
<campo id="637">Lugar y fecha de
creación</campo>
<campo id="638">Firma del
otorgante</campo>
<campo id="639">Cedula -
pagare</campo>
<campo id="640">Huella dactilar -
pagare</campo>
</checklist>
<checklist title="Carta de Instruccione">
<campo id="641">Yo - Carta de
Instrucciones</campo>
<campo id="642">Cedula - Carta de
Instrucciones</campo>
<campo id="643">de - Carta de
Instrucciones</campo>
<campo id="644">Constancia se firma -
Carta de Instrucciones</campo>
<campo id="645">Firma del otorgante -
Carta de Instrucciones</campo>
<campo id="646">Cedula - Carta de
Instrucciones</campo>
Clientes:
1) La url donde consumirá los servicios debe estar registrada en la tabla
TNEM_CONFIGURACION.
2) Debe permitir reintentos para consumir (parametrizable)
3) Debe dejar el LOG del consumo tablas (ws_xml_log y ws_traz_lote)
Servicios:
https://drive.google.com/a/compuredes.com.co/?tab=mo#folders/0BwK-
xeYeez1qRU9fNXVnTnhJVVk