dw03 ctes web - 01 - introduccion a php

9
CLIENTES WEB 01.Introducción a PHP Prof. Germán RODRIGUEZ – [email protected] 1 QUÉ ES PHP Es un lenguaje de programación orientado principalmente al desarrollo web. Su sintaxis es muy similar a Javascript y Action Script dado que son todos lenguajes que descienden de la rama del lenguaje de programación C. Posee estructuras de toma de decisiones (condicionales, selectores), ciclos de repetición, manejo de funciones, conexión nativa a bases de datos (siendo su máxima compatibilidad con MySQL), manejo de archivos (lectura y escritura de los mismos) y manejo de imágenes mediante la librería gráfica GD_Library (Graphics Dynamic). Su función principal es la programación de una PLANTILLA realizada en HTML para utilizarse con fuentes dinámicas de información, como pueden ser los contenidos traídos de una base de datos o información obtenida de un formulario. Para comprender el concepto de plantilla, pensemos en un blog o diario online. Sería técnicamente inhumano hacer un archivo HTML por cada noticia que se publica en dicho sistema. De esta manera, sólo se genera un archivo principal (llamado template o plantilla) que tiene “reservado” el espacio para cada contenido que puede obtenerse de la base de datos. Llegado el caso que una noticia no reciba un valor para algún elemento a mostrar, el mismo se omitirá con un simple condicional que evalúa si el dato recibido está vacío o no. Como se puede ver en la imagen a continuación de la página web de 26noticias; dos noticias totalmente diferentes tienen una estructura similar: Sin importar qué información estamos visualizando, siempre se mostrarán los mismos elementos: La barra superior del sitio con el logo, buscador y botonera. Una barra lateral a la derecha con publicidad. Los datos propios de cada noticia (que pueden existir o no):

Upload: carlos-loardo-condori

Post on 06-Nov-2015

225 views

Category:

Documents


4 download

DESCRIPTION

sdf sdf sdfs fsdf

TRANSCRIPT

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 1

    QU ES PHP

    Es un lenguaje de programacin orientado principalmente al desarrollo web.

    Su sintaxis es muy similar a Javascript y Action Script dado que son todos lenguajes que descienden de la rama del lenguaje de programacin C.

    Posee estructuras de toma de decisiones (condicionales, selectores), ciclos de repeticin,

    manejo de funciones, conexin nativa a bases de datos (siendo su mxima compatibilidad con

    MySQL), manejo de archivos (lectura y escritura de los mismos) y manejo de imgenes mediante la librera grfica GD_Library (Graphics Dynamic).

    Su funcin principal es la programacin de una PLANTILLA realizada en HTML para utilizarse

    con fuentes dinmicas de informacin, como pueden ser los contenidos trados de una base de datos o informacin obtenida de un formulario.

    Para comprender el concepto de plantilla, pensemos en un blog o diario online.

    Sera tcnicamente inhumano hacer un archivo HTML por cada noticia que se publica en dicho sistema. De esta manera, slo se genera un archivo principal (llamado template o plantilla) que

    tiene reservado el espacio para cada contenido que puede obtenerse de la base de datos.

    Llegado el caso que una noticia no reciba un valor para algn elemento a mostrar, el mismo se

    omitir con un simple condicional que evala si el dato recibido est vaco o no.

    Como se puede ver en la imagen a continuacin de la pgina web de 26noticias; dos noticias

    totalmente diferentes tienen una estructura similar:

    Sin importar qu informacin estamos visualizando, siempre se mostrarn los mismos elementos:

    La barra superior del sitio con el logo, buscador y botonera.

    Una barra lateral a la derecha con publicidad.

    Los datos propios de cada noticia (que pueden existir o no):

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 2

    - Ttulo.

    - Foto.

    - Copete. - Contenido.

    Sin ir ms lejos, si accedemos a la noticia nmero 1, nos encontramos con la plantilla tal como

    fue creada:

    Desde la programacin (en PHP), cada uno de esos datos son mostrados desde una consulta a

    una base de datos.

    Se dice que PHP es un lenguaje de programacin server-side (del lado del servidor).

    Esto significa que el contenido del archivo necesita procesarse en el hosting antes de ser

    mostrado en el documento final.

    Dado que Sistemas Operativos Unix/Linux tambin estn desarrollados en el lenguaje C, su

    integracin con el servidor web Apache es nativa.

    CMO FUNCIONA PHP? Cuando un servidor Web (ya sea Apache o Internet Information Server) recibe una peticin web, se analiza la extensin del archivo que se ha solicitado (si no se solicita un archivo

    explcito, se buscar un documento predeterminado).

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 3

    Si la extensin corresponde con un documento HTML, el servidor slo se limita a devolver el

    contenido sin analizar lo que se encuentre dentro, siendo una tarea del navegador interpretar

    los elementos del HTML.

    Pero la historia cambia cuando se recibe una peticin para visualizar un archivo con extensin

    PHP.

    Dado que el servidor debe procesar todas las directivas que conformen el documento, primero se leen y analizan los bloques de cdigo en PHP, en base a los condicionales, ciclos de

    repeticin y restricciones de seguridad, se genera un NUEVO CONTENIDO (que puede ser un

    fragmento del original o el resultante de un ocano de informacin) y ese contenido es enviado

    al navegador para que sea procesado.

    Los bloques de cdigo originales (en PHP) JAMS son enviados al usuario.

    Siempre recibir un producto que ser fruto del procesamiento por parte del servidor web.

    Para que un documento HTML pase a ser uno PHP, simplemente basta con cambiar su

    extensin a la correspondiente del lenguaje (.php) y ejecutarlo desde un servidor Apache (o en

    algn servidor con soporte para PHP).

    SERVIDOR DE PRUEBA

    Como PHP requiere ser interpretado por un servidor Apache, no puede probarse hacindole doble click o abriendo en el navegador (con file -> open) el archivo que queremos ver; debemos probarlo en un servidor web real.

    Las opciones van desde contratar un hosting para probar nuestros archivos hasta instalar paquetes de desarrollo en nuestras computadoras.

    La solucin ms simple es usar un servidor de prueba en nuestras propias computadoras.

    En un documento a parte se explica la instalacin y uso del WAMP server como servidor de

    desarrollo.

    Todo lo que probemos en php deber pasar por ese servidor para que se interprete el lenguaje.

    Esta regla es fundamental para trabajar con PHP.

    Una vez que hemos instalado el servidor de prueba, tendremos un archivo en alguna ubicacin

    de nuestra mquina(1) llamado php.ini, que tiene la mayora de las directivas de configuracin

    del intrprete de PHP. Entre las cosas que podremos setear se encuentran el tamao mximo

    que puede tener un archivo cuando se enva con un input de tipo file o si queremos mostrar los

    errores sintcticos.

    En algunos casos en que contratemos un hosting, no tendremos acceso a este archivo de

    configuracin dado que cambiara la configuracin para TODOS los dems clientes del hosting.

    [1] En el caso del servidor de prueba WAMP, el archivo php.ini se encuentra bajo la ubicacin: %WampRoot%\bin\apache\apache2.2.17\bin

    INTERACCIN CON EL HTML

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 4

    Al igual que todos los dems elementos que pueden encontrarse dentro de una pgina HTML,

    para insertar un bloque de cdigo PHP, se debe hacer mediante el uso de una etiqueta.

    En este caso, los bloques de cdigo PHP se extienden desde la apertura (signo de pregunta-mayor).

    Ejemplo de cdigo PHP dentro de un documento HTML:

    Titulo del documento ESTOY EN EL HTML, ANTES DEL CDIGO PHP

    ESTOY EN EL HTML, DESPUES DEL CDIGO PHP

    Puede abrir y cerrar tantos bloques PHP como sea necesario, no existe un lmite de cantidades.

    SINTAXIS

    Como todo lenguaje de programacin, existen una serie de instrucciones mnimas a seguir para poder explotar su potencial. Estas instrucciones (o restricciones) se conocen como sintaxis.

    1. La ms importante, es que PHP es un lenguaje case sensitive (sensible a las

    maysculas), esto quiere decir que una palabra escrita en minsculas es distinta a la misma palabra con una o todas sus letras en maysculas (ya sea para sus variables,

    palabras reservadas, funciones o comandos).

    2. Adems no es afectado por los espacios en blanco, es decir, que puedo escribir una

    operacin de tipo A+B todo corrido o separando los elementos (A + B), as como

    separar las instrucciones en distintas lneas o escribirlas todas de corrido, que en definitiva, cuando PHP interprete el cdigo lo va a realizar todo de corrido (como si

    estuviese comprimiendo y borrando los espacios). Se considera espacio en blanco, a la barra espaciadora, las tabulaciones y en determinados casos los saltos de lnea con la

    tecla enter. 3. Todas las instrucciones de nuestro desarrollo deben terminar con un punto y coma, esta

    regla es obligatoria ya sea que se opte por escribir todas las sentencias de corrido, o una

    lnea debajo de la otra.

    4. Cualquier palabra que se encuentre escrita dentro de un bloque de cdigo PHP y no est encerrada entre comillas dobles o simples, es indistinto- no sea un comentario, ser tratada como un comando, una constante o una funcin.

    En caso que esa palabra no corresponda a ninguna de estas categoras, PHP devolver

    un mensaje de error.

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 5

    COMENTARIOS EN EL CDIGO

    La idea de comentar un bloque de cdigo en cualquier lenguaje de programacin, es una

    utilidad que responde a dos necesidades distintas del programador: 1. La intencin de dejar una referencia del cdigo desarrollado o una explicacin del uso de

    determinada rutina.

    2. Saltear un bloque de cdigo funcional para que el procesador de PHP no lo ejecute sin la

    necesidad de borrar el cdigo desarrollado. Esta opcin se vuelve muy importante

    cuando se est haciendo un sitio muy grande y en la fase de desarrollo se quieren saltear determinados pasos, sin tener que borrar el cdigo a omitir o, en su polo opuesto, cuando una seccin del cdigo devuelve un mensaje de error que no podemos

    depurar y decidimos, momentneamente, omitir su procesamiento sin recurrir al

    extremo de borrar el cdigo fallido.

    Cualquiera sea el motivo para dejar un comentario en el cdigo PHP, existen dos tipos distintos

    de comentarios: Comentarios de un solo rengln, y comentarios multilnea.

    Los comentarios de un solo rengln, se inician mediante el uso del smbolo numeral (#) dos

    veces el smbolo de la barra sin espacios- (//) seguido por el texto a comentar. Todo lo que se encuentre a continuacin de alguna de estas dos opciones, se considerar como

    un comentario hasta el salto de lnea (es decir, hasta el ENTER).

    Ejemplo:

    Los comentarios multilnea son tiles a la hora de omitir grandes cantidades de cdigo

    consecutivo.

    A diferencia del comentario de una sola lnea, este tipo de comentario tiene apertura, mediante

    la combinacin, sin espacios en el medio, de los smbolos barra-asterisco (/*) y un cierre mediante la combinacin, sin espacios en el medio, de los smbolos asterisco-barra (*/)

    Cabe destacar que el intrprete del lenguaje PHP, saltear todo lo que se encuentre comentado,

    sin leer ni mostrar en el HTML resultante el cdigo que sea afectado por el mismo, incluyendo

    aquellas sentencias que respeten correctamente la sintaxis del lenguaje.

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 6

    A diferencia de lo que sucede con los comentarios en Javascript, como PHP se procesa antes de

    generar la salida de HTML, los mismos nunca se vern en el cdigo fuente de la pgina web.

    VARIABLES Y CONSTANTES

    Las variables son las palabras mediante las cuales vamos a hacer referencia a determinada

    informacin dentro de nuestro programa. Esto, debido a que en muchas ocasiones no vamos a

    tener la informacin que queremos manipular de antemano, sino que la misma se va a generar o solicitar en determinado momento puntual.

    El contenido que guarda esa variable, es la informacin que queremos manipular y se llama

    valor de la variable.

    Las variables permiten a los programadores abstraerse del valor de la informacin, y an as, poder manipularla con total seguridad.

    En PHP las variables no necesitan ser declaradas o instanciadas de alguna manera en particular.

    Un variable existe desde el momento en que se asigna un contenido.

    Las variables tambin deben respetar unas reglas sintcticas para que el lenguaje no devuelva

    un mensaje de error:

    - Deben empezar obligatoriamente con el signo pesos ($) - El segundo carcter (dado que el primero es el signo pesos) no puede ser un nmero.

    - El nombre de la variable solo puede estar conformada por letras, nmeros y guin bajo.

    - No puede tener espacios, ni guin medio (es el operador matemtico para la resta) ni

    otros smbolos raros. - No se recomienda el uso de acentos ni ees en los nombres de variables (por no ser

    parte de mapa de caracteres UTF-8).

    Por lo cual para crear una variable simplemente basta con realizar una asignacin del siguiente tipo:

    Recuerde que es INDISTINTO si una cadena de texto se genera con comillas simples (como el

    nombre) o con comillas dobles (como apellido), siempre teniendo en cuenta que la comilla que

    uso para delimitar el inicio y fin de la cadena de texto, debe ser la misma (si empez con comilla simple, terminar con comilla simple).

    Las constantes por otra parte, son contenedores (como las variables) con la diferencia

    semntica y funcional que no cambian su valor a lo largo de todo el desarrollo. Dado que este tipo de contenedor no altera su valor, no se inicializa con una asignacin (lo cual

    est prohibido en una constante, porque las asignaciones cambian los valores y las constantes

    se supone que son fijas) sino con la funcin define, que recibe como primer argumento el

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 7

    nombre de la constante (como cadena de texto, entre comillas) y como segundo argumento el

    contenido de la constante.

    PHP no es un lenguaje tipado, lo cual significa que no necesita definir el tipo de dato al que

    corresponde una variable. El tipo de dato se ir modificando acorde al valor que posea la

    variable.

    COMANDOS PARA MOSTRAR PHP reconoce dos formas de mostrar informacin en el documento HTML generado, la primera

    es mediante su comando nativo, echo, seguido de lo que deseemos mostrar.

    La segunda, es un comando heredado de lenguajes de programacin viejos (como QBasic) que

    se ofrece como compatibilidad para generar ms afinidad con los desarrolladores que provengan de esas ramas. En este caso se puede usar, tambin, el comando print.

    Hay que tener presente que estos comandos escriben en el CODIGO FUENTE del HTML

    generado, por lo cual TODO lo que le pidamos a PHP que se muestre ser, adems, procesado por el navegador y llegado el caso que hayamos hecho echo o print de alguna etiqueta HTML,

    la misma se procesar y mostrar normalmente.

    Ejemplos:

    El ejemplo anterior, mostrar en el documento HTML generado, el mensaje:

    Hola a todos!Esta es mi primera prueba

    El mensaje se ver todo de corrido porque, como bien se mencion antes del ejemplo, PHP

    escribir en el cdigo fuente. Y para el navegador, separar cosas con ENTER no es sinnimo de

    realizar un salto de lnea en lo visual. Para separar los elementos en HTML- debemos optar por uno de los siguientes caminos:

    Encerrarlos en un elemento de bloque, como un prrafo, div o encabezado (h1, h2, h3).

    Separarlos con la etiqueta HTML que representa el salto de lnea:

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 8

    El ejemplo anterior, mostrar en el documento HTML generado, el mensaje en dos renglones:

    Hola a todos! Esta es mi primera prueba

    Cabe recordar que, a la hora de mostrar un mensaje, TODO lo que no sea una variable ya

    existente, una funcin creada por nosotros o propia del lenguaje una palabra reservada que

    inicie una estructura (como if, for, etc), debe estar entre comillas para ser considerada una

    cadena de texto (SI, INCLUSIVE LAS ETIQUETAS HTML!!) en caso contrario, PHP devolver un mensaje de error, cortando la ejecucin del programa.

    El ejemplo anterior, cortar con un mensaje de error por un error de sintaxis porque tal como se ver en el captulo siguiente- el signo menor (

  • CLIENTES WEB 01.Introduccin a PHP

    Prof. Germn RODRIGUEZ [email protected] 9

    Si la intencin era mostrar el nombre a continuacin del Hola, deberamos hacer el echo dentro del prrafo y a continuacin del saludo, de la siguiente manera

    Titulo del documento MI PRIMER SITIO

    Hola, Bienvenido a mi website.

    Recuerde que no importa cuntas veces abra o cierre etiquetas PHP, desde el momento que una variable es creada, de ah hacia abajo la misma existe y se puede utilizar en otro segmento

    de cdigo PHP.

    En el ejemplo anterior lograremos el efecto deseado:

    MI PRIMER SITIO Hola, Germn Bienvenido a mi website

    ERRORES DE SINTAXIS

    PHP reconoce distintos niveles de error a la hora de interpretar un cdigo mal desarrollado. Los 4 niveles de error ms comunes son:

    - E_ERROR Error grave (fatal error) que detiene la ejecucin del resto del script.

    - E_WARNING Error leve (non-fatal error) que muestra un mensaje y sigue ejecutando

    el script. - E_PARSE Error sintctico y de parseo. El ms comn: olvidarse un punto y coma.

    - E_NOTICE Avisos del interprete de PHP, por ejemplo, variables no incializadas o vacas.

    Podemos manipular si estos errores sern visibles o no, pero sin lugar a dudas la forma ms profesional de trabajo es tener todos los errores habilitados y corregirlos.

    Para habilitar todos los errores, tenemos dos mtodos:

    1. En el archivo php.ini hay que buscar las lneas: - error_reporting igualarlo con el valor E_ALL

    - display_errors igualarlo con el valor On

    2. No siempre podemos modificar el php.ini, as que tambin se puede habilitar desde

    cdigo escribiendo en un bloque de cdigo PHP las siguientes instrucciones: