Programación en PHP

54

description

Programando en PHP, un lenguaje de alto nivel para programar páginas Web dinámicas.

Transcript of Programación en PHP

Page 1: Programación en PHP
Page 2: Programación en PHP
Page 3: Programación en PHP

¿Que es PHP?

Introducción

Que se puede hacer con PHP

Que necesito para ejecutar scripts PHP

Formas de agregar código PHP en las Páginas

Mi primera página con PHP

Page 4: Programación en PHP

¿Alguien trajo una laptop?

Page 5: Programación en PHP

127.0.0.1

localhost

Page 6: Programación en PHP

PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor.

¿Que es PHP?

Page 7: Programación en PHP

A trabajar un rato

Crearemos un sitio local en Dreamweaver

Page 8: Programación en PHP

<html>    <head>        <title>Ejemplo</title>    </head>    <body>

        <?php         echo "Hola Mundo";         ?>

    </body></html>

Un Pequeño ejemplo introductorio:

Introducción

Page 9: Programación en PHP

Que se puede hacer con PHP

Al nivel más básico, PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidos dinámicos, o mandar y recibir cookies.

Quizás la característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía Web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos están soportadasactualmente:

Adabas DIngresOracle (OCI7 and OCI8)dBase InterBase Sybase

IBM DB2 MySQL VelocisInformix ODBC Unix dbm

PostgreSQLEmpress FrontBase SolidFilePro mSQL

Page 10: Programación en PHP

Que necesito para ejecutar scripts PHP

Instalador de PHP

Un servidor que soporte PHP

Lo necesario:

Lo extra:

BD – MySQL (PhpMyAdmin como administrador).

Un editor (PHP Edit)

Page 11: Programación en PHP

Formas de agregar código PHP en las Páginas

1.-

<html><head><title> Titulo </title></head><body><?php echo "Hola" ?></body></html>

<?phpecho "<html>";echo "<head>";echo "<title> Titulo </title>";echo "</head>";echo "<body>";echo "Hola";echo "</body>";echo "</html>";?>

2.-

Page 12: Programación en PHP

Mi primera página con PHP

Nota: Crear la estructura HTML

<html> <head> <title><?php echo "TuNombre" ?></title> </head> <body> <?php echo "<p>Esta es mi primera pagina utilizando PHP</p>"; ?>

</body></html>

Page 13: Programación en PHP

Referencias del lenguaje

VariablesConstantesTipos de datosOperadoresEstructuras de controlIncluir ficheros externosFunciones

Page 14: Programación en PHP

Variables

Referencias del lenguaje

En PHP las variables se representan como un signo de dólar seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas.

Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable valido tiene que empezar con una letra o una raya (underscore), seguido de cualquier número de letras, números y rayas. Como expresión regular se podría expresar como: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' .

Page 15: Programación en PHP

<?php

$miNombre="Isaí";

$dia="Sábado";

$Dia="Domingo";

echo $dia, $Dia; // Salida Sábado, Domingo

$2dia="Lunes"; // Variable mal declarada

?>

Page 16: Programación en PHP

Variables predefinidas

Referencias del lenguaje

$GLOBALS$_SERVER$_GET$_POST$_COOKIE$_FILES$_ENV$_REQUEST$_SESSION

Page 17: Programación en PHP

Referencias del lenguaje

Ámbito de las variables

El ámbito de una variable es el contexto dentro del que la variable está definida. En PHP las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de dicha función.

<?php

$a = 1; /* variable global */

function Test()

{

echo $a; /* Referencia a una variable local */

}

Test(); //No habría ninguna impresión

?>

Page 18: Programación en PHP

Referencias del lenguaje

<?php

$a = 1; /* Variable global */

function Test()

{

global $a; //$GLOBALS[‘a’];

echo $a; /* Referencia a una variable global */

}

Test(); // La salida seria 1

?>

El código quedaría de la siguiente forma:

Page 19: Programación en PHP

Constantes

Referencias del lenguaje

Una constante es un identificador para expresar un valor simple. Una constante es sensible a mayúsculas por defecto. Por convención, los identificadores de constantes suelen declararse en mayúsculas.

El nombre de una constante sigue las mismas reglas que cualquier etiqueta en PHP.

Sintaxis:

Se puede definir una constante usando la función define(). Una vez definida, no puede ser modificada ni eliminada .

Page 20: Programación en PHP

Estas son las diferencias entre constantes y variables:

Las constantes no son precedidas por un símbolo de dólar ($)

Las constantes solo pueden ser definidas usando la función() define , nunca por simple asignación

Las constantes pueden ser definidas y accedidas sin tener en cuenta las reglas de alcance del ámbito.

Las constantes no pueden ser redefinidas o eliminadas después de establecerse; y

Las constantes solo puede albergar valores escalares

Referencias del lenguaje

Page 21: Programación en PHP

<?php

define (ENCABEZADO,"Pagina de prueba");

echo ENCABEZADO; //Salida "Pagina de prueba"

echo encabezado; //Salida encabezado;

?>

Ejemplo:

Referencias del lenguaje

Page 23: Programación en PHP

Referencias del lenguaje

Booleanos

Este es el tipo más simple. Un booleano expresa un valor de verdad. Puede ser TRUE o FALSE.

Sintaxis:

Para especificar un literal booleano, use alguna de las palabras clave TRUE o FALSE. Ambas son insensibles a mayúsculas y minúsculas.

<?php

$oracion=true;

?>

Page 24: Programación en PHP

Referencias del lenguaje

Enteros

Un Integer es un número del conjunto Z = {..., -2, -1, 0, 1, 2, ...}.

Sintaxis:

Los enteros pueden ser especificados en notación decimal (base-10), hexadecimal (base-16) u octal (base-8), opcionalmente precedidos por un signo (- o +).

Si usa la notación octal, debe preceder el número con un 0 (cero), para usar la notación hexadecimal, preceda el número con 0x.

<?php

$decimal=123; //Numero decimal

$negativo=-15; //Numero decimal negativo

$octal=0234; //Numero octal

$hexadecimal=0x1a; //Numero hexadecimal ?>

Page 25: Programación en PHP

Referencias del lenguaje

Números de punto flotante

Los números de punto flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden ser especificados usando cualquiera de las siguientes sintaxis:

<?php

$a=3.45; $b=5.4e5; $c=7E-10;

?>

El tamaño de un flotante depende de la plataforma, aunque un valor común consiste en un máximo de ~1.8e308 con una precisión de aproximadamente 14 dígitos decimales (lo que es un valor de 64 bits en formato IEEE).

Page 26: Programación en PHP

Referencias del lenguaje

Cadenas

Un valor string es una serie de caracteres. En PHP, un carácter es lo mismo que un byte, es decir, hay exactamente 256 tipos de caracteres diferentes. Esto implica también que PHP no tiene soporte nativo de Unicode.

Nota: El que una cadena se haga muy grande no es un problema. PHP no impone límite práctico alguno sobre el tamaño de las cadenas, así que no hay ninguna razón para preocuparse sobre las cadenas largas.

Sintaxis:

Un literal de cadena puede especificarse en tres formas diferentes.

Comillas simplesComillas doblesSintaxis heredoc

Page 27: Programación en PHP

Referencias del lenguaje

Comillas simples:

La forma más simple de especificar una cadena sencilla es rodearla de comillas simples (el carácter ').

<?php echo 'Cadena utilizando comillas simples'; ?>

Comillas dobles:

Para la creación de cadenas con este tipo se utiliza el carácter “.

<?php echo "Cadena utilizando comillas dobles"; ?>

Page 28: Programación en PHP

Referencias del lenguaje

Sintaxis heredoc:

Otra forma de delimitar cadenas es mediante el uso de la sintaxis heredoc ("<<<"). Debe indicarse un identificador (seguido por un salto de línea) después de la secuencia <<<, luego la cadena, y luego el mismo identificador para cerrar la cita.

<?php

$cadena = <<<FIN

Ejemplo de una cadena

que se extiende por varias líneas

usando la sintaxis heredoc.

FIN;

?>

Page 29: Programación en PHP

Referencias del lenguaje

Como puedo agregar el contenido de una(s) variable(s) a una cadena?

Hay varias formas de agregar el contenido de una variable a una cadena:

<?php

$nombre=‘isai';

$forma1="hola, mi nombre es ".$nombre;

$forma2="hola, mi nombre es $nombre";

$forma3="hola, mi nombre es ${nombre}";

$forma4="hola, mi nombre es {$nombre}";

?>

Page 30: Programación en PHP

Referencias del lenguaje

Caracteres escapados

secuencia significado

\n alimentación de línea (LF o 0x0A (10) en ASCII)

\r retorno de carro (CR o 0x0D (13) en ASCII)

\t tabulación horizontal (HT o 0x09 (9) en ASCII)

\\ barra invertida

\$ signo de dólar

\" comilla-doble

\[0-7]{1,3}la secuencia de caracteres que coincide con la expresión regular es un caracter en notación octal

\x[0-9A-Fa-f]{1,2}

la secuencia de caracteres que coincide con la expresión regular es un caracter en notación hexadecimal

Page 31: Programación en PHP

Referencias del lenguaje

Conversión de tipos

La función para definir tipos es settype:

Sintaxis:

bool settype ( mixed &$var, string $tipo )

Los tipos pueden ser:

“boolean” o “bool” “integer” o “int” “float” “string” “array” “object” “null”

Page 32: Programación en PHP

Referencias del lenguaje

<?php

$cad1="56e";

$verdad=true;

settype($cad1,"integer"); //$cad1 igual a 56

settype($verdad,"string"); //$verdad igual a "1"

?>

Ejemplo:

Page 33: Programación en PHP

Referencias del lenguaje

Operadores

Un operador es algo a lo que usted entrega uno o más valores (o expresiones, en jerga de programación) y produce otro valor (de modo que la construcción misma se convierte en una expresión).

Algunos tipos de operadores:

Operadores aritméticosOperadores de comparaciónOperadores de incremento/decrementoOperadores de lógica

Page 34: Programación en PHP

Referencias del lenguaje

Operadores aritméticos:

Ejemplo Nombre Resultado

-$a Negación El opuesto de $a.

$a + $b Adición Suma de $a y $b.

$a - $b Substracción Diferencia entre $a y $b.

$a * $b Multiplicación Producto de $a y $b.

$a / $b División Cociente de $a y $b.

$a % $b Módulo Resto de $a dividido por $b.

Page 35: Programación en PHP

Operadores de comparación:

Ejemplo Nombre Resultado

$a == $b Igual TRUE si $a es igual a $b.

$a === $b Idéntico TRUE si $a es igual a $b, y son del mismo tipo. (A partir de PHP 4)

$a != $b Diferente TRUE si $a no es igual a $b.

$a <> $b Diferente TRUE si $a no es igual a $b.

$a !== $b No idénticos TRUE si $a no es igual a $b, o si no son del mismo tipo. (A partir de PHP 4)

$a < $b Menor que TRUE si $a es escrictamente menor que $b.

$a > $b Mayor que TRUE si $a es estrictamente mayor que $b.

$a <= $b Menor o igual que TRUE si $a es menor o igual que $b.

$a >= $b Mayor o igual que TRUE si $a es mayor o igual que $b.

Referencias del lenguaje

Page 36: Programación en PHP

Operadores de incremento/decremento:

Ejemplo Nombre Efecto

++$a Pre-incremento Incrementa $a en uno, y luego devuelve $a.

$a++ Post-incremento Devuelve $a, y luego incrementa $a en uno.

--$a Pre-decremento Decrementa $a en uno, luego devuelve $a.

$a-- Post-decremento Devuelve $a, luego decrementa $a en uno.

Referencias del lenguaje

Page 37: Programación en PHP

Ejemplo Nombre Resultado

$a and $b Y TRUE si tanto $a como $b son TRUE.

$a or $b O TRUE si cualquiera de $a o $b es TRUE.

$a xor $b O exclusivo (Xor) TRUE si $a o $b es TRUE, pero no ambos.

! $a No TRUE si $a no es TRUE.

$a && $b Y TRUE si tanto $a como $b son TRUE.

$a || $b O TRUE si cualquiera de $a o $b es TRUE.

Operadores de lógica:

Referencias del lenguaje

Page 38: Programación en PHP

Referencias del lenguaje

Estructuras de control

If else elseif

<?php

if ($a > $b) {

print "a es mayor que b";

} elseif ($a == $b) {

print "a es igual que b";

} else {

print "a es mayor que b";

}

?>

Page 39: Programación en PHP

Referencias del lenguaje

<?php

$i = 1;

while ($i <= 10):

print $i; $i++;

endwhile;

?>

while

<?php

$i = 0;

do {

print $i; $i++;

} while ($i<=10);

?>

dowhile

Page 40: Programación en PHP

Referencias del lenguaje

<?php

for ($i = 1; $i <= 10; $i++) {

print $i;

}

?>

for

Page 41: Programación en PHP

<?php

$i=1;

switch ($i) {

case 0:

print "i igual a 0";

break;

case 1:

print "i igual a 1";

break;

case 2:

print "i igual a 2";

break;

}

?>

switch

Referencias del lenguaje

Page 42: Programación en PHP

Sentencias para agregar archivos externos

<?php

include ("Encabezado.php"); require ("Menu.php");

?>

Las sentencias inlcude() y require() incluyen y evalúan el archivo especificado.

Referencias del lenguaje

Page 43: Programación en PHP

Funciones

Es un bloque de código que nos puede o no arrojar un resultado. Hay dos tipos de funciones: las que hacen algo y las que regresan un valor.

Funciones que hacen algo:

<?php

encabezado("Pagina de prueba");

function encabezado($titulo)

{

echo $titulo;

}

?>

Referencias del lenguaje

Page 44: Programación en PHP

Funciones que regresan un valor:

<?php

$resto=residuo(5,10);

echo $resto;

function residuo($a,$b)

{

return $a%$b;

}

?>

Referencias del lenguaje

Page 45: Programación en PHP

Ejercicios

1. Realizar un script que permita imprimir las tablas de multiplicar del 1 al 10.

2. Realizar un script que me permita obtener el número de días que he tenido de vida hasta la fecha (cada mes tiene en promedio 30 días).

3. Realizar un script que me permita crear una pirámide de n niveles, utilizando una tabla.

Ejemplo:*

* ** * *

* * * ** * * * *

Page 46: Programación en PHP
Page 47: Programación en PHP

Base de datos

noticonais

Page 48: Programación en PHP

Tablas

Tabla: noticia

Campo Tipo Longitud/Valores

Nulo Predeterminado Extra

Id_noticia INT 4 null NULL auto_increment

autor VARCHAR 100 null

titulo VARCHAR 100 null

categoria VARCHAR 40 null

fecha VARCHAR 10 null

noticia VARCHAR 600 null

Page 49: Programación en PHP

CREATE TABLE `noticia` ( `id_noticia` int(4) NOT NULL auto_increment, `autor` varchar(100) NOT NULL, `titulo` varchar(100) NOT NULL, `categoria` varchar(40) NOT NULL, `fecha` varchar(10) NOT NULL, `noticia` varchar(600) NOT NULL, PRIMARY KEY (`id_noticia`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Código generado – para la tabla noticia

Page 50: Programación en PHP

Tabla: comentarios

Campo Tipo Longitud/Valores

Nulo Predeterminado Extra

Id_com INT 4 null NULL auto_increment

Id_noticia INT 4 null

nick VARCHAR 20 null

comentario VARCHAR 700 null

fecha VARCHAR 10 null

Tablas

Page 51: Programación en PHP

CREATE TABLE `comentarios` ( `id_com` int(4) NOT NULL auto_increment, `id_noticia` int(4) NOT NULL, `nick` varchar(20) NOT NULL, `comentario` varchar(700) NOT NULL, `fecha` varchar(10) NOT NULL, PRIMARY KEY (`id_com`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;

Código generado – para la tabla comentarios

Page 52: Programación en PHP
Page 53: Programación en PHP
Page 54: Programación en PHP

http://sites.google.com/site/sayojas