Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


introduccion a php, Apuntes de Programación Informática

Asignatura: Fundamentos de Programación, Profesor: Otros Apuntes, Carrera: Ingeniería Informática, Universidad: UHU

Tipo: Apuntes

2017/2018

Subido el 26/01/2018

juan-benito-1
juan-benito-1 🇪🇸

4.5

(6)

6 documentos

1 / 67

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Introducción a PHP
http://www.pacoarce.com Pág 1
Introducción a PHP
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43

Vista previa parcial del texto

¡Descarga introduccion a php y más Apuntes en PDF de Programación Informática solo en Docsity!

Introducción a PHP

1. Sintaxis general de PHP

Estructura de archivos PHP

El lenguaje de programación PHP nace en 1994 por la necesidad de

automatizar operaciones comunes para crear sitios de internet dinámicos. Es

inventado por Rasmus Lerdorf y basado en el lenguaje "C". Sus siglas

significan "Personal Home Page".

Las rutinas de PHP se crean en cualquier editor de texto, ya que es un

lenguaje "interpretado" (se lee, valida e interpreta hasta que es llamada una

rutina por el servidor). Todo archivo que contenga rutinas e instrucciones de

PHP debe estar contenido entre los símbolos "" y tener la

terminación ".php" para ser ejecutado correctamente. Así, un ejemplo de

unarchivo de PHP, que podría ser guardado con el nombre "hola.php", es:

php

print "Hola mundo!";

Para ejecutar un archivo de php con terminación ".php", debe "subirse" en el

servidor junto con las páginas de HTML, y escribir en un navegador el

nombre del archivo: "http://www.miserver.com/hola.php".

Para saber si un servidor de páginas web tiene instalado el intérprete de

PHP se puede crear este sencillo archivo, subirlo yejecutarlo desde un

navegador (debe de usarse un servidor de paginas web, no funciona si se

abre un archivo guardado en un disco duro local desde un navegador):

<?php

print phpinfo();

Este archivo debe producir un resultado similar a esto:

Si el resultado son las instrucciones del archivo, el PHP no esta instalado en

ese servidor.

Mezclar HTML y PHP

Es posible mezclar paginas de HTML y código PHP, escribiendo en la parte

correspondiente del archivo HTML el código dePHP, siempre "delimitado"

por las etiquetas "". Capture el siguiente Ejemplo:

Ejemplo de mezcla de HTML y PHP
Este es un ejemplo de como mezclar código estático de HTML
y dinámico de PHP
Esta parte es creada por el HTML.
";
Fin de la demostración

Una desventaja de esta mezcla es que no se puede separar el diseño del

código, lo cual hace difícil el desarrollo y el mantenimiento de un sitio en

el que se involucran diseñadores y programadores (o al menos varias

personas a la vez). Más adelante se describirán técnicas para mantener

separados el diseño y el código.

Comentarios

En todo lenguaje de programación es conveniente tener alguna forma de

incluir comentarios, letreros que indican alguna nota acerca del código o su

implementación.

presentación, etiquetas para cajas con los adornos de navidad, etc.

El concepto de "cajas" es el que más se asemeja a las variables. En la vida

real, los humanos guardamos cosas en todo tipo de "cajas", para ser usadas

más tarde, para acumular cosas "afines", para ir guardando monedas que

sobran, etc. Pero eso si, entre más cajas se tengan, es más fácil saber que hay

en ellas si NO se les pone una "etiqueta" o letrero en su exterior: a los

humanos les da por bautizar y etiquetar todo tipo de cosas, incluyendo sus

"cajitas".

Así que, ¿por que habría de ser diferente al crear un lenguaje de

programación?

Por esto es que las variables deben de ser "bautizadas" con nombres que sean

indicativos del tipo de información que se guarda en esas "cajitas". Y es

mucho mejor aun si no repetimos esos nombres.

Imaginen entrar a un cuarto lleno de cajas, todas con el

mismo letrero: "tornillos".

Para guardar todo tipo de "valores" e información, el PHP permite crear

variables, pero deben seguirse unas pequeñas reglas:

1 - Toda variable debe comenzar con el caracter "$".

2 - Solo pueden usarse letras (sin eñes ni acentos u otros caracteres

especiales), números y el guión bajo "_".

3 - Las letras mayúsculas y minúsculas SON diferentes.

4 - Restringir la longitud del nombre a 64 caracteres (mas por el beneficio del

humano que de la máquina)

Ejemplos de VARIABLES:

$uno

$contador

$nombre_de_variable_un_poco_largo

$i

$esta_variable_no_es_igual_a_esta_otra

$Esta_variable_no_es_igual_a_esta_otra

$iva

$subtotal

$subtotal

$total

$123_ya_te_vi

Si bien se goza de la libertad de usar cualquier nombre para la variable,

sin romper las reglas, es buena práctica limitarse a nombres

"mnemónicos" y cortos. Para que me sirve "bautizar" una variable que va

a contener un "numero de parte" de un producto como "$konichi_wa" o

"$no_se_que_nombre_usar" u otro nombre que no indica para que se va a

usar la variable. Opciones más sensatas serian "$numero_de_parte",

"$num_parte" o "$numpte".

A diferencia de otros lenguajes de programación, en el PHP se puede

"declarar" una variable en cualquier parte del código. En el momento que se

me ofrece una "cajita" para guardar algo, esta puede aparecer mágicamente

en cualquier parte de mi casa, solo necesito "pensar en ella" y nombrarla, así

de fácil.

Tipos de datos

Los tipos de datos o información que maneja el PHP se pueden resumir en lo

siguiente:

Enteros o "Integer" - Datos numéricos, pero sin incluir decimales. Optimo uso

son contadores. Ejemplos: 1, 2, 3, 5, 7, - 11, - 13,-17, - 19, - 23

Números con decimales o "Double" - Datos numéricos que si incluyen

decimales. Optimo uso son manejo de "dinero", datos estadísticos,

trigonométricos, etc. Ejemplos: 3.141592653589793, - 1.16, 0.

Cadenas de caracteres o "String" - Datos alfanuméricos para representar letras

y el lenguaje escrito de los humanos. Estos valores van siempre "encerrados"

o delimitados entre las comillas dobles o comillas sencillas (apóstrofes).

Optimo uso son todo tipo de letreros, mensajes, nombres, etc. Ejemplos:

"Ejemplos",

Operadores Aritméticos

Operador Nombre Ejemplo Resultado

+ adición 3 + 0.1415 3.1415 - substracción 5 - 7 - 2

* multiplicación 258444.8275 * 1.16 299795.9999 / división 5 / 2

2.5 % residuo 5 % 2 1

Atajos a operaciones comunes

Para ahorrar la escritura repetida de nombres de variables, existen "atajos" de

operaciones aritméticas comunes:

Operador Ejemplo Equivalente a+= $total += $subtotal $total = $total +

$subtotal - = $total - = $descuento $total = $total - $descuento *= $total *=

$iva $total = $total * $iva /= $promedio /= $total $promedio = $promedio /

$total %= $residuo %= $subtotal $residuo = $residuo % $subtotal .=

$letrerototote .= $letrerito $letrerototote = letrerototote. $letrerito ++

$contador++ $contador = $contador + 1 --$asistentes--$asistentes =

$asistentes - 1

Operador de concatenación

Para "unir" cadenas de caracteres se usa el operador punto ".":

$letrerototote = $letrerito. " para ". $nombre. " ". $apellido. "";

Operadores de comparación

Para comparar una cosa con otra y saber si el resultado es verdadero o falso se

usan estos operadores. Para los ejemplos, se asume que la variable $todo es

igual a 5.

Operador Nombre Es verdadero si... Ejemplo Resultado == igual a ambos

lados son iguales $todo == 5 true

!= diferente de ambos lados son diferentes $todo != 5 false ===

idéntico ambos lados son iguales y $todo === "5" false

son del mismo tipo de datos > mayor que la

izquierda es mayor que la derecha $todo > 4 true >= mayor o igual la

izquierda es mayor o igual a la derecha $todo >= 5 true < menor que la

izquierda es menor que la derecha $todo < 4 false <= menor o igual la

izquierda es menor o igual a la derecha $todo <= 5 true

Operadores booleanos

Estos operadores se usan para crear comparaciones mas complejas. Ejemplo

de la vida real son: "Si te haces tu tarea y te lavas los dientes puedes ir al

cine" - Solo si se cumplen ambas condiciones podrá ir al cine "Si haces tu

tarea o tiras la basura puedes ir al cine" - Con una de las dos condiciones que

se cumplan podrá ir al cine Operador Nombre Es verdadero si... Ejemplo

Resultado

and , && y ambos lados son verdaderos true

Cambio de tipo

Es posible "forzar" a que el resultado de una operación cambie de tipo,

como por ejemplo una división entre números con decimales regrese un

número entero. La manera mas fácil de forzar este cambio es así:

$entero = (integer) $subtotal / $iva;

La variable $entero sólo recibirá un valor entero, sin los decimales.

Operador Cambia a Ejemplo Resultado (integer) numero entero

$contador = (integer) 5 / 2 2 (double) numero con decimales

$promedio = (double) 3 + 2 5.0 (string) cadena de caracteres

$letrero = 3.1415 / 2 "1.57075" (boolean) verdadero o falso

$respuesta = 5 * 2 true En el ultimo caso, cualquier valor que sea

diferente de cero regresa "true", y cero regresa "false".

pueden usar

indistintamente';

Uso de etiquetas HTML

Cuando las rutinas de PHP se usan en un ambiente de servidores de web, los

resultados serán mostrados en un navegador, y losnavegadores entienden

etiquetas de HTML para dar formato a los textos.

Es por esto que en los comandos "print" o "echo" se incluyan etiquetas de

HTML. Es bueno familiarizarse con las etiquetas deHTML, ya que es difícil

prescindir totalmente de ellas.

Con la técnica del uso de plantillas para separar el diseño de la

programación, se reduce a un mínimo el uso de etiquetas deHTML desde

la rutina de PHP.

2. Control de flujo

La vida diaria esta llena de decisiones y rutinas. Levantarse, cepillar los

dientes, bañarse, desayunar, ir al trabajo, comer,hacerse "pato" en la

tarde, regresar a casa, cenar, ver TV o escuchar radio o leer algo, y

dormir.

Y en cada una de esta rutina mil y un decisiones que tomar: ¿me baño

primero o me lavo los dientes? ¿Desayuno huevos o soloun café? ¿Hay café?

¿Me voy por la supuesta vía rápida o por calles entre la ciudad? ¿Leo mi

correo o termino el reporte?¿Esta mi jefe en la oficina? ¿Qué como? ¿Cuanto

dinero traigo para comer? ...

En los lenguajes de programación existen dos grandes grupos de comandos

para el control del flujo del programa, para decidirque hacer, o si se trata de

un ciclo, cuantas veces hacerlo o hasta que momento dejar de hacerlo.

El primer grupo de comandos son los "condicionales", los cuales evalúan

una expresión y dependiendo del resultado de laevaluación (verdadero o

falso) ejecutan o dejan de ejecutar ciertas instrucciones.

Comando "if"

En un ejemplo anterior examinamos una situación parecida a esta: "Si haces

tu tarea puedes ir al cine". Este ejemplo de la vidareal contiene una condición,

que si se cumple trae una consecuencia. Pero de no cumplirse, no se hace

realidad dichaconsecuencia.

El comando "if" se traduce como "Si...", y es un comando condicional. Lo

primero a realizar es preguntar por una condiciónevaluando una expresión,

la cual solo puede ser verdadera o falsa, no existe otro resultado. Si el

resultado es "verdadero", seejecutan las instrucciones que están delimitadas

por un par de caracteres especiales: "{" y "}". La condición es

generalmenteuna o varias comparaciones.

La sintaxis básica para este comando es:

if ( expresión ) {

comando;

comando;

Ejemplo: 1 2 3 4 5 6 7 8 9 10 $edad = 45; $bono = 2500; $salario = 25000; if ( $edad >= 40 ) { $salario += $bono; print "Su edad lo hace acreedor a un bono por antigüedad. Su nuevo sueldo es $salario "; } print "Su edad es $edad ";

Pruebe este código. Luego cambie el valor de la variable $edad y compare los

resultados.

Regresando al ejemplo de la vida real, también puede suceder lo siguiente:

"Si haces tu tarea puedes ir al cine, de lo contrariono podrás ver la TV el día

de hoy".

Aquí se complican las cosas, ya que si no hago mi tarea no solo dejaré de ir al

cine, sino que además no podré ver la TV.

El comando "if" tiene otra forma que incluye la instrucción equivalente a "de lo contrario": 1 2 3 4 5 6 if ( expresión ) { comando; comando; ... } else { otro comando;

$edad = 25; if( $edad <= 20 ) { print "Te regalamos boletos para el concierto de Marilyn Manson "; } if( $edad > 20 and $edad <= 30 ) { print "Te regalamos unos boletos para ir al concierto de Moby "; } if( $edad > 30 and $edad <= 40 ) { print "Te regalamos unos boletos para ir al teatro "; } if( $edad > 40 ) { print "Te regalamos unos boletos para ir a la opera "; }

Comando "switch"

Una alternativa a usar varios comandos "if" es el comando "switch". A

diferencia de los comandos "if", el comando "switch"solo puede evaluar una

sola expresión. Puede comprenderse este comando como un "separador de

monedas", ya que esosaparatos funcionan gracias a las variaciones del tamaño

de las monedas.

La sintaxis básica para este comando es:
switch ( expresión ) {
case resultado1:
comando;
comando;
break;
case resultado2:
comando;
comando;
break;
case resultado3:
comando;
comando;
break;
default:
comando;
comando;

Ejemplo: 1 2 3 4 5 6 7 8 $estado_civil = "divorciado"; print "Lo invitamos a un viaje por el amazonas "; switch ( $estado_civil ) { case "soltero": print " donde podrá conocer a otras personas en "; break; case "casado": print " para que su familia viva ";

break; case "divorciado": print " en el que podrá olvidar sus problemas en "; break; case "arrejuntado": print " para que se anime a tomar esa importante decisión en "; break; case "viudo": print " para recordar los mejores momentos de su vida en "; break; default: print " que le ayudará a definir su estado social gracias a "; } print " una extraordinaria experiencia de 2 semanas, todo incluido ";

¡ Un "atajo" de un comando "if" con solo un comando para el caso "true" y

uno solo para el caso "false" lo proporciona esteoperador.

La sintaxis básica para este operador es:

$resultado = ( expresión)? resultado-si-es-true : resultado-si-es-false; Ejemplo: 1 2 3 4 5 6 $total = 35000; $tipo_de_cambio = 11.35; $gran_total = ( $tipo_de_cambio > 0 )? $total * $tipo_de_cambio : $total; $letrero = ( $tipo_de_cambio > 0 )? ", tipo de cambio ". $tipo_de_cambio : ""; print "El gran total de su pedido es $gran_total $letrero ";

El segundo grupo de comandos de control de flujo son los "ciclos", los

cuales evalúan una expresión y dependiendo delresultado de la evaluación

(verdadero o falso) ejecutan o dejan de ejecutar un ciclo de instrucciones.

Los ciclos, como los de la vida real, se apoyan en "contadores", que

permiten ejecutar un ciclo un numero finito de veces, yasea en un rango

especifico (algo así como "solo 7 veces") o hasta que suceda algo.

Comando "while" La sintaxis básica para este comando es:

while ( expresión ) { comando; comando; ... }

Mientras la expresión se evalúe como "true", se ejecutarán los comandos que

delimitan los caracteres "{" y "}". Al terminar elbloque de comandos, se

regresa a evaluar la expresión. Cuando la expresión se evalúe como "false",

$contador = 0; $veces = 7; print "Se van a imprimir $veces números: "; do { print " Número: $contador "; $contador++; } while ( $contador < 7 ); print "Fin del ciclo, el contador vale $contador";

Pruebe asignar a la variable $contador el numero 6 (o mayor) en ves de 0 y

observe el resultado.

Comando "for"

Como se observa en los ejemplos anteriores, es muy común usar una variable

"contador", la cual es inicializada en algún valor(en los ejemplos fue "cero") e

incrementada en un valor a cada vuelta del ciclo (en los ejemplos se

incrementó en "1").

El comando "for" representa una manera "diferente" de hacer un ciclo de tipo

"while", pero con la inicialización de la variable"contador", y su incremento,

en una sola linea.

La sintaxis básica para este comando es:

for ( inicializacion-del-contador ; expresión ; incremento-del-contador ) { comando; comando; ... }

La inicialización del contador solo se ejecuta una ves y nunca mas vuelve a

ejecutarse, antes de evaluar la expresión por vesprimera.

La expresión se evalúa al menos una ves y mientras su resultado sea "true", se

ejecutarán las instrucciones del ciclo.

Cuando se termina de ejecutar los comandos del ciclo, se incrementa el

contador, y se vuelve a evaluar la expresión.

Ejemplo: 1 $veces = 7;

print "Se van a imprimir $veces números: "; for ( $contador = 0 ; $contador < $veces ; $contador++ ) { print " Número: $contador "; } print "Fin del ciclo, el contador vale $contador";

Comandos "break" y "continue"

A veces es necesario salir prematuramente de un ciclo, debido a una

condición excepcional.. El comando "break" termina elciclo y no vuelve a

evaluar la expresión, terminando definitivamente el ciclo, sin importar el

valor de la expresión. Estecomando funciona dentro de cualquier comando de

ciclos y condicionales (if, switch, while, do...while y for).

Ejemplo: 1 2 3 4 5 6 7 8 9 10 11 $veces = 7; print "Se van a imprimir $veces números: "; for ( $contador = 0 ; $contador < $veces ; $contador++ ) { // aquí checo por una condición especial para terminar el ciclo if ( $contador == 5 ) { print "Se va a terminar el ciclo prematuramente "; break; } print " Número: $contador "; } print "Fin del ciclo, el contador vale $contador";

El comando "continue" sirve para saltarse un ciclo, sin terminar de ejecutar los comandos

restantes del ciclo.

Ejemplo: 1 2 3 4 5 6 7 8 9 10 11 $veces = 7; print "Se van a imprimir $veces números: "; for ( $contador = 0 ; $contador < $veces ; $contador++ ) { // aquí checo por una condición especial para saltar un ciclo if ( $contador == 4 ) { print "Se va a saltar un ciclo "; continue; } print " Número: $contador "; } print "Fin del ciclo, el contador vale $contador";