LOGO
PHP
Prof. Dely Maybel Gil Alvarez
Y poderoso es DIOS para que abunde en
vosotros toda gracia, a fin de que,
teniendo siempre en todas
las cosas todo lo
SUFICIENTE,
abundéis para toda obra
1 Corintios 13:4
Contenido
1 Sintaxis
2 Variables / Constantes
3 Tipos de Operadores
4 Estructuras de Control
5 Funciones
© Maybel Gil
¿Qué es PHP?
PHP Hypertext Pre-Processor
Lenguaje de programación Interpretado
Ejecutable del lado del servidor
Heredero de C++
Embebido en HTML
De propósito general
Orientado a programación Web
Software libre
Posibilidad de usar POO.
Amplio soporte de Base de Datos: Adabas D, dBase,
Empress, Ingress, InterBase, FrontBase, DB2,
Informix, mSQL, MySQL, ODBC, Oracle, PostgreSQL,
Sybase.
Verificar Instalación de PHP
<?php
phpinfo();
?>
© Maybel Gil
Sintaxis
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN">
<head> <title>Primer PHP </title> </head> <body>
<?php //Comienzo de código PHP [Link]
//FORMATO 1
echo ("<p><hr />");
echo ($_SERVER["HTTP_USER_AGENT"]);
print ("</p><hr />");
?> <!-- Fin de código-->
<h2> <?
#FORMATO 2
ECHO "Hoy es ".gmDate("d/m/Y");
?><br />
<script language="php">
//FORMATO 3
echo gmDate("h:i:s A"); </script>
</h2>
<?php
// Barra invertida: sustituye las dobles comillas
echo ("<p> !PHP es una \"bomba\"!</p>") ; ?>
<!-- FORMATO Abreviado de salida de cadenas -->
<?="<B>FIN!!</B>";?>
</body></html>
© Maybel Gil
Variables
No tienen tipo definido de dato (débilmente tipeado)
Aunque no se le asigna tipo de dato, la variable tomará el
tipo de dato que contenga el valor que se le asigne.
No se declaran, ni inicializan.
Comienzan con el carácter $.
$nombre = "Josué " ;
$edad = 26 ;
CONVENCIONES PARA LOS IDENTIFICADORES
El nombre de las variables deben comenzar con el signo $
seguido con una letra o el carácter underscore (_), luego
puede tener una combinación de letras y números, el carácter
especial underscore (_) y los caracteres ASCII del 127 al 255
(extendidos).
Luego del carácter $, el nombre de una variable no puede
comenzar con un número.
Tipos de Variables
[Link]
Escalares
Almacenan valores
individuales. Asignación por valor
<?php
Arreglos $var; // Se declara una variable
Permiten guardar sin ningún valor. Su contenido es
múltiples valores y de NULL
diferentes tipos de $var0 = NULL;
datos, es decir no son $var1 = "Variable 1 ";
uniformes $var2 = 2005;
$var3 = 2150.75;
Predefinidas del $var4 =(25*9+18);
$var5=$var4;
Lenguaje.
?>
$GLOBALS
Asignación por referencia
$_SERVER A una variable se le asigna la
$_ENV dirección de otra.
$var1 = &$var2;
Tipos de datos
Boolean $band = true; [Link]
$a = 1234;
$b = -1234;
Entero $c = 0123; # OCTAL -->83 decimal
$d = 0x12; # HEXA -->18
$e = 1.23;
$f = -1.23;
Punto flotante
$g = 1.23e+3;
$h = -1.23E-2;
Objeto
Array $a = array ("uno"=>1, "dos"=>2, "tres"=>3);
$a = "Mundo";
#Interpolación de cadenas
Cadenas echo "hola $a <br />";
echo 'Hola $a'."<br />”;
EcHo $a,$a //Opcional el ; antes de ?>
© Maybel Gil
Conversión de Tipos
[Link]
Automática
# Conversión automática de tipos #
$var1 = "10";
$var2 = "21";
$var3 = 19;
$var4 = "hola";
echo $var1 + $var2."<br />";
echo $var1 * $var2."<br />";
echo $var3 + $var4;
echo $var3 * $var4;
Casting
tipo_datoval ($var): Convierte la variable al tipo
de dato (int,double,str)
$var = "28020IUTVAL";
$varM = intval($var);
echo $varM;
© Maybel Gil
Funciones de utilidades
gettype($var) : Retorna el tipo de dato de una variable
settype($var, tipodato): Cambia el tipo de dato de una
variable. Los tipos de datos posibles son: integer, double,
string, array, object
isset($var): Determina si una variable está definida
(true,false)
empty ($var) : Determina si una variable está definida o
si su valor es false.
is_tipo_dato($var) : Averigua si una variable es del
tipo_dato
Funciones de utilidades
<?php [Link]
$edad = 3;
$nombre = "Maria"; <?php
print (gettype($edad)."<br />"); var = "Cristiano";
print (gettype($nombre)."<br />"); if (is_integer($var)){
$var = 7.8;
print("Integer");
settype($var,"integer");
}elseif(is_double($var)){
echo $var;
echo "a: ".isset($a)."<br /> edad: print("Double");
".isset($edad); }elseif(is_string($var)){
print ("Variable no declarada".empty($a)); print("String");
$var = 1; }
print ("<br />".empty($var)." algo<br />"); ?>
?>
© Maybel Gil
Constantes
Para definir constantes se utiliza la función:
define(nombre constante, valor)
<?php
// definir constantes al principio
define("CIUDAD","MERIDA"); "
define("COLOR","#3366FF");
define("TAM",6);
if (defined("COLOR")){ //comprueba si una constante ha sido creada
print("<p style='color:".COLOR.";size:".TAM."pt'>");
echo CIUDAD; print ("</p>");
}
?>
© Maybel Gil
Operadores
Aritméticos Comparativos
= (asignación) == (igualdad en valor)
+ (suma) < (menor que)
-(resta) > (mayorque)
* (multiplicación) " <= (menor o igual que)
>= (mayor o igual que)
/ (división)
!= (distinto de)
% (resto de la === (comparación de valor y tipo)
divisiónentera) Lógicos
! (negación)
Operador= && (and)
$a+=$b es equivalente a || (or)
Cadenas
$a=$a+$b
. , (concatenación)
Variable++ (incremento)
Variable-- (decremento)
© Maybel Gil
Sentencia if-else
<?php [Link]
$x = 3;
$y = 2;
if ($x == $y)
{ print ("tanto y como x son iguales");
} else {
print ("son diferentes"); }
?>
Sentencia if -elseif
Ver ejemplo de la función IS
Operador ternario
($x == $y)? print "Son iguales" : print "Son diferentes";
Sintaxis Alternativa
if():
endif
© Maybel Gil
Sentencia switch
<?php [Link]
$a=3;
switch($a) {
case 1:print("estamos en la opción uno");
break;
case 2:print("estamos en la opción dos");
break;
case 3:print("estamos en la opción tres");
$a--;
break;
default: print("No hay opciones");
}
print("Valor de a: " . $a."<br>");
?>
© Maybel Gil
Sentencia for
/* ejemplo 1 */ [Link]
for ($i = 1; $i <= 10; $i++) { print $i; }
/* ejemplo 2 */
/* ejemplo 4 */
for ($i = 1; ;$i++) {
//sentencia alternativa
if ($i > 10) {
for ($i=0;$i<10;$i++):
break;
print("línea..".$i."<br>");
}
endfor;
print $i;
}
/* ejemplo 3 */
for ($i = 1; $i <= 10; print $i, $i++)
/* No necesariamente expr2 tiene porque ser siempre numérica
for ($i=0;checkEmail()!="error";$i++){
//Ejecutar hasta que la función checkEmail devuelva error }
© Maybel Gil
Sentencia while
/* ejemplo 1 */ [Link]
$var = 10;
while ($var >0){
print ("Nuevo valor:".$var."<br>");
--$var;
}
/* ejemplo 2 */
$var = 8;
while (--$var)
print ("Valor:".$var."<br>");
/*ejemplo 3 */
$var = 12;
do{
print("el valor es:".$var."<br>");
--$var;
} while ($var>8);
© Maybel Gil
Funciones
Función con parámetro por valor:
function nombre ($par).
Función con parámetro por referencia:
function nombre (&$par).
Función con parámetro con valor por defecto:
function nombre ($par = valor).
Nota:
Para retornar el valor de una función se usa return.
El PHP permite recursividad en sus funciones.
Alcance de las variables
Variables del tipo static(static $var)
siempre retorna el último valor que tuvo esa variable.
Variables del tipo global (global $var)
Obtener número de parámetros enviados / Contenido de
parámetros:
func_nums_args() / func_get_arg($i) / arg_list[$i]
© Maybel Gil
Funciones
function no_arg(){ [Link]
// Sin parámetros function cuadrado($num){
echo "Hola Cristianos<br />"; // parámetro por valor, pasa una copia
} $num = $num +1;
no_arg(); return $num*$num;
}
function contar($number=6){ $numero = 7; print("$numero<br />");
//parámetros por defecto print(cuadrado($numero)."<br/>");
for(;$number<10;$number++) print("$numero<br/>");
echo $number,"<br />";
}
contar(8); function anadir(&$string) {
// parámetro por referencia (& antes del
contar(); arg. del parámetro)
$string .= ' y algo más.';
}
$str = 'Esto es una cadena, ';
Echo anadir($str)."<br />";
© Maybel Gil
Funciones
$numero = 9; //Array $GLOBALS
function otro_numero(){
$numero=6; $numero = 9;
function otro_numero3(){
}
$GLOBALS["numero"]=6;
echo "El número es:$numero<br/>”; // cuando se usa el array las variables
otro_numero(); no van precedidas del $
echo "El valor de la variable $numero
}
no se ve alterada <br/>";
otro_numero3();
ECHO("Número con GLOBALS:
$numero = 9;
$numero<br/>";
function otro_numero2(){
global $numero;
$numero=6;
}
echo "El número es:$numero<br/>”;
otro_numero2();
echo "El valor de la variable $numero si
se ve alterada <br/>“;
© Maybel Gil
Funciones
//Sin la sentencia static //Usando static
function contador(){ function contador2(){
$contador=0; static $contador=0;
$contador++; $contador++;
return $contador; return $contador;
} }
Echo contador()."<br/>"; Echo contador2()."<br/>";
Echo contador()."<br/>"; Echo contador2()."<br/>";
Echo contador()."<br/>"; Echo contador2()."<br/>";
© Maybel Gil
Funciones
//Funciones para el manejo de argumentos
function facil(){
$numargs = func_num_args();
echo "Número de argumentos en facil: $numargs<br>";
if ( $numargs >= 2 ) {
echo "Segundo argumento es: " . func_get_arg( 1 ) . "<br>";
}
//Si arg_num>número de argumentos se generará un aviso devolverá FALSE
$arg_list = func_get_args();
for ($i=0;$i<$numargs;$i++){
echo "Argumento $i es :".$arg_list[$i]."<br>";
}
}
facil(1,2,3);
© Maybel Gil
Inclusión de Archivos
SINTAXIS:
<? require("[Link]") ?> : Incluye todo el contenido
Sólo incluye el fichero referenciado, es decir, no lo interpreta.
Su comportamiento es equivalente a la directiva #include del Leng. C
No puede ser utilizado con estructuras de control
En caso que el archivo referenciado por require no existe, se genera
un error fatal y no permite seguir ejecutando el script
require_once() o include_once():
Carga y evalúa cada script una vez como máximo, evitando así los
errores producidos por redefinición de funciones o la resignación de
valores a variables
La diferencia entre ambos es la misma que include() y require().
Inclusión de Archivos
Incluir archivos, funciones, o partes de código
(su uso más común, para agregar la cabecera
y pie de una página).
SINTAXIS:
<? include("[Link]") ?>
Las funciones y variables definidos antes de la llamadas son accesible
para el código en el fichero. De igual forma todos los elementos
definidos en el fichero estarán disponibles par el script llamante.
Si el fichero a incluir no existe se genera un warning o un aviso,
continuando con la ejecución por la siguiente instrucción Puede
utilizarse en combinación con otras estructuras de control
for ($i;$i<4;$i++) {include(“fichero”.$i.”.php”);}
Inclusión de Archivos
<h3>cabecera</h3> [Link]
<?php
$resultado=1;
for($i=1;$i<=abs($exponente);$i++)
$resultado*=$base;
if ($exponente<0){ [Link]
$resultado=1/$resultado;
echo "$base<SUP>$exponente</SUP> = ";
echo <b>$resultado</b>";
?>
<br><h3>Último resultado...<?=$resultado?></h3>
[Link]
Inclusión de Archivos
[Link]
<html><head><title>Trabajando con INCLUDE</title></head>
<body><center>
<h2>Inclusión de ficheros </h2>
<?php
//se incluye la [Link]
include("[Link]");
//el fichero " [Link] hace uso de las variables $base y $exponente
$base =2; $exponente= -3;
include("[Link]");
echo "<br />Primera inclusion de '[Link]<hr width='40%'/>";
$base =9; $exponente= 7;
include("[Link]");
echo "<br>Segunda inclusion de '[Link]<hr width='40%'/>";
//se incluye un fichero que hace uso de variables definidas en '[Link]'
include("[Link]");
?>
</center></body></html>
Inclusión de Archivos
[Link]
<html><head><title>Trabajando con INCLUDE</title></head>
<body><center>
<h2>Inclusión de ficheros </h2>
<?php
//se incluye la [Link]
include_once("[Link]");
//el fichero " [Link] hace uso de las variables $base y $exponente
$base =2; $exponente= -3;
include_once ("[Link]");
echo "<br>Primera inclusion de '[Link]<hr width='40%'/>";
$base =9; $exponente= 7;
include_once ("[Link]");
echo "<br>Segunda inclusion de '[Link]<hr width='40%'/>";
//se incluye un fichero que hace uso de variables definidas en '[Link]'
include_once("[Link]");
?>
</center></body></html>
Práctica
[Link]
Realice el siguiente formulario.
Utilice las funciones: exponencial,
factorial, calculadora.
Muestre el resultado en un campo se
texto.