Estructura de directorios
/ : Este ser la raz del sitio, aqu estarn las paginas
accedidas por los visitantes. /class/ : aqu estarn los archivos php que contienen las clases correspondientes a los archivos pblicos. /fonts/ : set de fuentes sern almacenados aqu, inicialmente estas fuentes son utilizadas para el generador de cdigo de seguridad. /images/ : aqu estarn todas las imgenes que sern llamadas para el ensamblado de las paginas. /lib/ : un grupo de archivos php que contienen instrucciones comunes, se describirn estos archivos mas adelante.
Estructura de directorios
/misc/ : inicialmente un directorio vacio, podra
contener archivos php auxiliares o APIs /scripts/ : aqu estarn los javascripts de la pagina. /style/ : archivos CSS, utilizados en la pagina. /tpl/ : uno de los directorios mas utilizados, puesto que estn las plantillas html a ser usadas en el sitio. /uploads/ : otro directorio inicialmente vacio, aqu estarn ubicados los archivos subidos por el usuario.
PHP libreras: email
email(,,,) Recibe cuatro strings 1) La direccin de correo electrnico que aparecer como el
remitente del correo electrnico(Para hotmail, este debe tener el mismo dominio que la pagina) 2) El asunto del e-mail 3) El mensaje, esta cadena tiene que ser en formato puro de html, este puede ser el resultado de la llamada display de la libreria template. 4) La direccin de destino. Este e-mail retorna true o false dependiendo si el mensaje fue enviado o no.
PHP libreras: email
generateCode(#)
Recibe un nmero que demuestra cuntos caracteres
alfanumricos aleatorios ser an generados. Retorna la cadena de alfanumericos generado.
PHP libreras: login
validate(,) Recibe dos strings
1) El login del usuario a ser validado 2) La contrasea no encriptada del usuario Retorna el user_id si el usuario existe y los campos son
correctos y falso si el usuario no existe o algun campo es incorrecto.
PHP libreras: login
loginUser(#)
1) Recibe el id del usuario. Retorna verdadero, se inicializan y cargan las variables
de session.
PHP libreras: paging
navigation(#,,#,#) Recibe 4 parametros.
1) El total de resultados a ser mostrado 2) La url base que mostrara los siguientes (o anteriores)
resultados
search.php?searchby=name&searchstring=pepito&page=1
3) El numero de resultados por pagina. 4) El numero de enlaces por pagina. Retorna un div con los links.
PHP libreras: paging
getGets() Retorna la pagina actual y todos los parametros
enviados por GET Ajaxnavigation(#,,,#,#) Similar a navigation, los parametros son: 1. El total de resultados a ser mostrados. 2. El ID NAME de el objeto HTML donde se mostraran los resultados. 3. La Url de la pagina que que sera llamado por ajax 4. El numero de resultados por pagina. 5. El numero de enlaces por pagina. Retorna un div con los links.
PHP libreras: query
getRows(,,) Realiza un SELECT, recibe estos 3
parametros. 1) Las columnas que seran seleccionadas 2) La tabla 3) Las restricciones, limites, etc. Retorna un arreglo Bi-dimensional con todos los resultados de la consulta.
PHP libreras: query
getRow(,,) Realiza un SELECT, recibe estos 3
parametros. 1) Las columnas que seran seleccionadas 2) La tabla 3) Las restricciones, limites, etc. Retorna un arreglo Uni-dimensional con solo el primer reslultado de la consulta.
PHP libreras: query
dbInsert(Array,) Realiza la insercion en la base de
datos, recibe dos parametros. 1) Un arreglo asociado a los valores que seran insertados en la base de datos. 2) Una cadena con el nombre de la tabla Retorna el id de la insercion o falso en otro caso.
Ej. $insert[name] = Pedro; $insert[lastmane] = Prez; dbInsert($insert,names)
PHP libreras: query
dbUpdate(Array,,) Realiza una actualizacion a la
base de datos, recibe tres parametros. 1) Un arreglo asociado con los valores que sern modificados. 2) El nombre de la tabla 3) Las restricciones Retorna verdadero si la actualizacion fue realizada con exito.
PHP libreras: query
dbDelete(,) Elimina filas de una tabla, recibe dos
parametros. 1) La tabla donde se eliminaran las filas. 2) Las restricciones. Retorna verdadero si la eliminacion fue realizada con exito.
PHP libreras: time
howlong(#) Recibe un timestamp (fecha particular),
retorna un mensaje de texto relativo a cuanto tiempo paso desde el timestamp y el presente. convert_datetime() Recibe una cadena en el formato date/time (Como es resuldato de una consulta SQL) y produce el correpondiente timestamp.
PHP libreras: upload
SetDirectory() Define el directorio donde el archivo
sera subido. SetFile() Recibe el nombre del campo en el formulario de typo file esta define que las variables de clase sean correctamente subidas Returna falso si ocurre alguna error en el proceso de subida. Size() Recibe el nombre del campo de tipo file Retorna el tamao del archivo subido en bytes.
PHP libreras: upload
UploadFile() Mueve el archivo subido seleccionado
por SetFile al directorio seleccionado (por SetDirectory), La cadena es opcional y especifica el nombre que tendra el archivo subido, si este parametro no es definido el nombre del archivo sera el mismo que el archivo original. $upload -> SetDirectory(uploads"); if(SetFile(logo)) UploadFile(img_uploaded);
PHP libreras: template
SetTemplate() Define el template a ser usado.
SetParameter(,) define que un campo variable sea
reemplazado con el contenido de la segunda cadena. Display() Salida de la cadena resultante que fue leido de la plantilla y haciendo los reemplazos definidos por SetParameter
Sobre la convencin de archivos
Para evitar el caos en la estructura del archivo, es
necesario definir algunas convenciones. En el root solamente tener archivos .php, estos archivos tendrn una estructura similar a esto: <?php require_once('lib/includeLibs.php'); require_once('class/****.class.php'); $class = new ****; echo $class->Display(); ?>
En /class/
Estos archivos sern las clases usadas para construir las
paginas. Por convencin la extensin de estos archivos sern *.class.php. La estructura del archivo debe tener una funcin display, quien despliega la plantilla. El cdigo del archivo ser similar a esta definicin.
Definicion de un *.class.php
<?php
class **** {
Display() { $class = new template; $class->setTemplate(tpl/home.html); return $class->Display(); } }
Definicion de un *.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>[title]</title> </head> <body> <div class="Main>[content]</div> </body> </html>