Programación en PHP

Post on 14-Nov-2014

5.523 views 3 download

description

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

Transcript of 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

¿Alguien trajo una laptop?

127.0.0.1

localhost

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?

A trabajar un rato

Crearemos un sitio local en Dreamweaver

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

        <?php         echo "Hola Mundo";         ?>

    </body></html>

Un Pequeño ejemplo introductorio:

Introducción

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

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)

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.-

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>

Referencias del lenguaje

VariablesConstantesTipos de datosOperadoresEstructuras de controlIncluir ficheros externosFunciones

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]*' .

<?php

$miNombre="Isaí";

$dia="Sábado";

$Dia="Domingo";

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

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

?>

Variables predefinidas

Referencias del lenguaje

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

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

?>

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:

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 .

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

<?php

define (ENCABEZADO,"Pagina de prueba");

echo ENCABEZADO; //Salida "Pagina de prueba"

echo encabezado; //Salida encabezado;

?>

Ejemplo:

Referencias del lenguaje

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;

?>

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 ?>

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).

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

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"; ?>

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;

?>

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}";

?>

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

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”

Referencias del lenguaje

<?php

$cad1="56e";

$verdad=true;

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

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

?>

Ejemplo:

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

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.

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

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

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

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";

}

?>

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

Referencias del lenguaje

<?php

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

print $i;

}

?>

for

<?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

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

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

Funciones que regresan un valor:

<?php

$resto=residuo(5,10);

echo $resto;

function residuo($a,$b)

{

return $a%$b;

}

?>

Referencias del lenguaje

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:*

* ** * *

* * * ** * * * *

Base de datos

noticonais

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

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

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

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

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