![]() Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons |
|
Tutorial PHP4 - Parte I (84869 lectures)
Per Ricardo Galli Granada, gallir (http://mnm.uib.es/gallir/) Creado el 04/06/2001 22:58 modificado el 04/06/2001 22:58 |
Esta es la primera parte de una serie de artículos y tutoriales que estoy preparando para PHP4 y MySQL. Ahora presento la primera parte que se centra en introducir de forma breve las formalidades del lenguaje: sintaxis, expresiones, evaluación de expresiones, estructuras de control y funciones. Curso de PHP4 – Parte I Ricardo Galli (gallir@uib.es) PHPPHP significa Hypertext Preprocessor,
aunque originalmente significaba Personal
Home Page Tools. Los ficheros PHP normalmente se denominan con la
extensión El PHP es un lenguaje embebido en páginas HTML y que se ejecutan el servidor. Productos similares y propietarios son Active Server Pages (ASP) de Microsoft, ColdFusion de Allaire y Java Server Pages (JSP) de Sun. PHP es fácil de aprender comparado con otros mecanismos para obtener la misma funcionalidad. A diferencia de JSP o CGI basados en C, PHP no requiere un conocimiento exhaustivo del lenguaje de programación. A diferencia de Perl, PHP tiene una sintaxis muy fácil de comprender y a diferencia de ASP, no requiere conocer más de un lenguaje de programación o de la instalación de módulos externos o comerciales para realizar tareas más complicadas no previstas en el lenguaje más usado (Visual Basic Script). La mayoría de las funciones más útiles están predefinidas:
Las instrucciones PHP están embebidas en HTML. Una página PHP es una página normal HTML que con unas marcas especiales le indican al servidor que deben interpretarse. Por ejemplo (los ejemplos de estas clases están en http://mnm.uib.es/~gallir/php(1)/: ejemplo1.phtml
Cuando un cliente solicita esta página, el servidor web la procesa en forma secuencial desde el principio al final buscando secciones PHP limitadas por <? y ?>. En caso de encontrarlas, las compila y ejecuta. Si todo se ejecuta de forma normal, producirá la siguiente página HTMLs:
El resultado es idéntico a si hubiese sido escrito el texto manualmente. Esto tiene algunas consecuencias:
Agregar PHP a HTMLPHP es totalmente compatible con HTML y no tomará en cuenta la inclusión de applets, Javascript, etc., simplemente los ignorará. Se puede usar cualquier método para generar HTML y luego se puede agregar PHP en él. Para indicar las secciones PHP se deben usar etiquetas especiales, este proceso es llamado "escape del HTML". Las etiquetas válidas son:
Hola Mundoejemplo2.phtml
Si le aburre mucho probar este ejemplo, cambie la función Entrar y Salir del Modo PHPEn cualquier momento se puede entrar y salir del modo PHP. Todo lo que esté entre las etiquetas de escape es considerado PHP, todo lo que esté afuera es ignorados, no hay término medio. Por ejemplo es válido: ejemplo3.phtml
Inclusión de ficheros PHPOtra forma de agregar código PHP al HTML es poniendo el código PHP en
otro fichero e invocarlo mediante la función ejemplo4.inc
ejemplo4.phtml
Hay que tener cuidado, el texto que se incluye del fichero También se suele usar la función Sintaxis, Variables y SalidaPHP es bastante flexible, más que intentar ser estricto y forzar una
disciplina en la programación, enfatiza conveniencia para el programador más
que la corrección. El PHP tiene un conjunto mínimo de reglas que hay que
seguir, caso contrario podremos ver los mensajes de error tipo SintaxisLa sintaxis del PHP es similar a la del lenguaje C, o sea, muy sencilla. Si no sabe como escribir una instrucción, pruebe primero como lo haría en C, y si no funciona acuda al manual. PHP ignora los espacios en blanco
es equivalente a
o a
PHP es a veces sensitivo a mayúsculas-minúsculasEn algunos casos PHP no es sensitivo a las mayúsculas o minúsculas,
como en el caso de nombres de función o construcciones del lenguaje (
La salida del programa anterior será: El total es 100 El total es Las sentencias son expresiones que terminan en punto y comaLa típica sentencia en PHP es una asignación:
Los bloques de construcción más pequeños son las palabras indivisibles, tal como números ( Los siguientes elementos en complejidad son las expresiones, que son una combinación de
palabras que tienen un valor. Las
expresiones más simples están formadas por una sola palabra, como un número o
una variable. Expresiones simples pueden ser combinadas con operadores para
formar expresiones más complejas, por ejemplo Evaluación de expresionesCada vez que el intérprete encuentra una expresión, la expresión es inmediatamente evaluada. Esto significa que el PHP primera evalúa los elementos más pequeños y luego las combina y obtiene su resultado. Por ejemplo en
los pasos imaginarios de evaluación serán:
Finalmente el valor 32 es asignado a la variable AsignacionesEl tipo más común de expresión en la asignación, donde el resultado de una expresión es almacenado en una variable. La forma es el nombre de la variable, que comienza siempre con el símbolo $, seguido de un símbolo igual y a continuación la expresión a evaluar.
Una cosa importante a recordar es que las asignaciones son expresiones y por la tanto también tienen un resultado, el mismo que se asigna a la variable:
Expresiones y SentenciasNormalmente hay dos razones para usar una expresión en PHP:
El valor de una expresión es aquello que se pasa para la evaluación de expresiones más complejas, los efectos secundarioes es aquello que ocurre como resultado de una evaluación. Los casos más típicos de efectos son la asignación de resultados a una variable, imprimir algo en la pantalla del usuario o cambiando valores en una base de datos. Aunque las sentencias son expresiones, no están incluidas en expresiones más complejas, lo que significa que la única razón para usar una sentencia es el efecto secundario.
Construcción de BloquesAunque las sentencias no pueden ser combinadas como las expresiones, se puede poner una
serie de sentencias en cualquier permitido agrupándolas con " Por ejemplo, la construcción if está formada por una verificación (entre paréntesis) seguido de una sentencia que es ejecutada si la condición es verdadera.
Si queremos que se ejecuten varias sentencias en vez de una sola, lo que hacemos es agrupar aquellas sentencias:
El sangrado, aunque ignorado por el intérprete del PHP, es muy importante para la comprensión de los programas. ComentariosLos comentarios son porciones del programa que se ponen sólo para facilitar la comprensión de lectores, lo primero que hace el intérprete de PHP es quitar todos los comentarios del programa. La forma de los comentarios en PHP están heredados de varios lenguajes de programación muy usados en entornos UNIX. Comentarios Tipo C
Hay que tener en cuenta que los comentarios de este tipo no pueden estar anidados:
Comentarios de una línea: // y #Estos tipos de comentarios están heredados del C++, Java, Shell y Perl.
VariablesLa forma principal de almacenar valores en el medio de un programa son las variables. Las cosas más importantes a recordar son:
Verificación de asignación previaSe puede verificar que una variable haya sido previamente asignada con la función IsSet():
Ámbito de las variablesEl ámbito (scope) es el término técnico para definir el comportamiento de un nombre, función o variable, dentro de un programa. Puede darse el caso que el nombre tenga el mismo comportamiento y significado en todo el programa (global) o que el mismo nombre se comporte de manera diferente en distintas partes del programa. En este último caso decimos que el ámbito de esas variables es local. En PHP, cualquier variable que no esté dentro de una función tiene ámbito global y su valor se encuentra disponible en toda la extensión de la ejecución del programa. En otras palabras, si se asigna un valor a una variable al principio del programa, el nombre de la variable tiene el mismo significado para el resto del programa y tendrá siempre el mismo valor. La asignación de un valor a una variable no afectará a las variables con el mismo nombre en la ejecución del PHP de otras páginas ni tampoco a la ejecución del mismo programa PHP cuando es invocado por conexiones diferentes. La pregunta de si una variable persiste a través de las diferentes etiquetas PHP, es decir si se puede salir del modo PHP, volver a entrar luego y usar las mismas variables con los mismos valores de una asignación previa. Si, no hay problemas. ejemplo5.phtml
SalidaLa mayoría de las construcciones del PHP se ejecutan silenciosamente, es decir no producen ninguna salida hacia la pantalla del usuario. Si se desea enviar texto al navegador del usuario se deben usar las funciones de salida. Echo y printLas dos construcciones básicas para generar salida son
Variables y CadenasSe pueden usar ejemplo6.phtml
Comillas simples vs. comillas doblesEs uso de las comillas simples o dobles cambia el comportamiento. Si, como en el ejemplo anterior, se usan comillas dobles, el PHP interpolará (cambiará) los nombres de variables que encuentre por su valor. En cambio si se usan comillas simples, el PHP lo tomará con una cadena que debe imprimirse tal cual han sido escritas. ejemplo7.phtml
Lo que producirá el siguiente resultado:
PrintfEs posible generar una salida con formatos más complejos mediante el
uso de la función ejemplo8.phtml
TiposTodos los lenguajes de programación tienen un sistema que especifican los diferentes tipos de datos que pueden aparecer en los programas. Normalmente los diferentes tipos corresponden a la forma en que representan los valores en la memoria mediante una serie de bits. El sistema de tipos en PHP es extremadamente sencillo y flexible lo que facilita la tarea de los programadores. Los tipos básicos de PHP son enteros (
Strings
Comillas simplesA excepción de unos pocos casos, las cadenas con comillas simples se almacenan y leen literalmente a como fueron escritas. El siguiente código
producirá el siguiente resultado.
Las comillas dobles dentro de una cadena limitada por comillas simples no "corta" la cadena, sino que son almacenadas como un carácter norma. La siguiente línea es legal:
Si se quiere almacenar el carácter ' dentro de la cadena, no es tan complicado, solo hay que escaparlo.
Comillas doblesLas cadenas limitadas por comillas dobles son procesadas de dos maneras por el PHP:
Los caracteres especiales son:
Interpolación de variables Siempre que aparezca un símbolo $ que no haya sido escapado, el PHP intenta interpretarlo como un nombre de variable e inserta el valor de la variable en la cadena. Las reglas son:
Probar la salida de las siguientes instrucciones:
ArraysEl PHP ofrece la posibilidad de agrupar un conjunto de valores para almacenarlos juntos y referenciarlos por un índice. Probar la salida del siguiente código:
que produce la siguiente salida:
Strings como índicesLos índices puedes ser del tipo numérico (entero) o una cadena de forma indistinta.
Verificación de Tipos.gettype(arg)Retorna un is_int(arg), is_integer(arg), is_long(arg)Retorna verdadero si is_double(arg), is_float(arg), is_real(arg)Retorna verdadero si is_bool(arg)Retorna verdadero si is_string(arg)Retorna verdadero si is_array(arg)Retorna verdadero si is_object(arg)Retorna verdadero si Control de FlujoEs casi imposible hacer programas útiles si no pudiésemos hacer que la ejecución del programa dependiese de determinados valores. Este tipo de ejecución requiere de estructuras de control que indican que partes del código deben ejecutarse en distintas situaciones. Hay dos tipos básicos de estructuras de control:
Expresiones BooleanasTodas las estructuras de control tienen dos partes:
La forma más sencilla de expresiones Booleana son las constantes
o de forma equivalente:
Operadores LógicosLos operadores lógicos combinan otras expresiones lógicas para producir un nuevo valor lógico (o Booleano).,
Operadores de Comparación
RamificaciónLas dos estructuras principales son if y switch. If es muy utilizada y es la primera estructura que se aprende. Switch es útil para los casos en que tengamos múltiples ramas que dependen de la evaluación de un solo valor. If-else
elseifEl elseif se suele usar cuando tenemos comparaciones en cascada:
Se puede reemplazar por:
Haced pruebas con el if e intentad poner código HTML en el medio saliendo del modo PHP: Switch
CiclosWhile
ejemplo9.phtml
For
ejemplo10.phtml
Do-whileEl do-while es similar al while excepto que la verificación se realiza al final del ciclo, es decir que el ciclo se ejecuta por lo menos una vez.
ejemplo11.phtml
FuncionesTodos los lenguajes de programación modernos proveen capacidades de abstracción de procedimientos que facilita enormemente la programación y el mantenimiento del código. El mecanismo de PHP (al igual que C) es la función. Hay dos clases de funciones:
La sintaxis básica para el uso (llamado) de funciones es el nombre de la función seguida, entre paréntesis, de una lista de expresiones separadas por coma:
Cuando el PHP encuentra una llamada a una función, primero evalúa las expresiones especificadas como argumentos y usa sus resultados como valores de entrada a la función. Después de la ejecución de la función, si hay algún valor de retorno, es el resultado de la expresión de llamada a función. Todas las llamadas a funciones son expresiones de PHP, y como cualquier otra expresión, hay dos razones por las que puede interesar llamar una función: por el valor que devuelve o por su efecto secundario. El valor devuelto por una función es el valor de la expresión, se puede hacer lo mismo que se hace con una expresión normal.
Definición de FuncionesLas funciones de usuario no son obligatorias en PHP, sin embargo facilitan la programación en caso que el código se vuelva extenso o requiera la ejecución de tareas complejas. Un función es un trozo de código al cuál se le da un nombre y que puede ser llamada una o varias veces desde distintas partes del programa. La sintaxis es:
La palabra reservada function indica el inicio de la definición de la función. El nombre de la función debe ser construido de forma similar a las variables, puede estar formado de letras, números y "_" y no debe comenzar con un número. Los argumentos son variables de ámbito local en la función. Las operaciones que hace el intérprete cuando encuentra una llamada a función son:
Lista de enlaces de este artículo: |
|
E-mail del autor: gallir _ARROBA_ uib.es Podrás encontrar este artículo e información adicional en: http://bulma.net/body.phtml?nIdNoticia=655 |