Programación en PHP
-
Upload
perfiles-informaticos-grupo-sayojas -
Category
Technology
-
view
5.526 -
download
3
description
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
Tipos de datos
PHP soporta ocho tipos primitivos.
Cuatro tipos escalares: boolean integer float (número de punto-flotante, también conocido como 'double') string
Dos tipos compuestos: array object
Y finalmente dos tipos especiales: resource NULL
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