SlideShare una empresa de Scribd logo
PHP
Lenguaje PHP básico
Introducción
Sintaxis básica
Tipos de datos
Variables
Constantes
Expresiones y operadores
Estructuras de control
Funciones
Tablas
Bibliotecas de funciones
Introducción
PHP es un lenguaje de programación
interpretado
Diseñado originalmente para la
creación de páginas web dinámicas
Usado principalmente en interpretación
del lado del servidor
Actualmente puede ser utilizado desde
una interfaz de línea de comandos
o en la creación de otros tipos de
programas (aplicaciones con interfaz
gráfica usando las bibliotecas Qt o
GTK+)
La mayor parte de su sintaxis ha sido
tomada de C, Java y Perl
Otras tecnologías de servidor:
Coldfusion, JSP, PHP, ASP o
Web estática vs dinámica
Página estática compuesta por
código HTML.
Cuando el archivo es requerido
por el navegador, el servidor
lo envía y tal cual
Todos los visitantes verán el
mismo contenido.
Web estática vs dinámica
En sitio dinámico, la página se
procesa en el servidor antes de
ser enviada al navegador.
El archivo en php contiene código
php que al ser ejecutado
generará código html.
Al ejecutar el código, pueden
hacerse consultas/accesos a
bases de datos u otros archivoso
o servicios.
El resultado final que se envía al
navegador tiene extensión .php,
pero es código HTML
Resultado generado para este
visitante en particular
Esquema de funcionamiento
Sintaxis básica
PHP es sensible a las mayúsculas
¿Cómo se incrusta en la página web?
<?PHP ... ?>
Comentarios: como en C, /* … */ y //
Las instrucciones se separan con un ; como en C. La marca final ?
> implica un ;
Sintaxis básica
Para devolver un texto: echo y print
echo: muestra una o más cadenas
echo cadena1 [, cadena2…]; // no es una función
echo “Hola mundo”;
echo “Hola “, “mundo”;
print: muestra una cadena
print cadena; // no es una función
print “Hola mundo”;
print “Hola “ . “mundo”;
Sintaxis básica
Ejemplo:
<HTML>
<HEAD>
<TITLE>Mi primer programa en PHP</TITLE>
</HEAD>
<BODY>
<?PHP
echo (“<p>Hola mundo</p>”);
?>
</BODY>
</HTML>
Sintaxis básica
Uso de n para generar código HTML legible
a) Sin n
echo (“<P>Párrafo 1</P>”);
echo (“<P>Párrafo 2</P>”);
<P>Párrafo 1</P><P>Párrafo 2</P>
Párrafo 1
Párrafo 2
Código PHP
Código HTML
Salida
Sintaxis básica
Uso de n para generar código HTML legible
b) Con n
echo (“<P>Párrafo 1</P>n”);
echo (“<P>Párrafo 2</P>n”);
<P>Párrafo 1</P>
<P>Párrafo 2</P>
Párrafo 1
Párrafo 2
Código PHP
Código HTML
Salida
Sintaxis básica
Inclusión de ficheros externos:
include()
require()
Ambos incluyen y evalúan el fichero especificado
Diferencia: en caso de error include() produce un warning y
require() un error fatal
Se usará require() si al producirse un error debe interrumpirse la
carga de la página
Ejemplo:
Sintaxis básica
<HTML>
<HEAD>
<TITLE>Título</TITLE>
<?PHP
// Incluir bibliotecas de funciones
require ("$libdir/conecta.php");
require ("$libdir/fecha.php");
?>
</HEAD>
<BODY>
<?PHP
include ("cabecera.html");
?>
// Código HTML + PHP
. . .
<?PHP
include ("pie.html");
?>
</BODY>
</HTML>
Tipos de datos
PHP soporta 8 tipos de datos primitivos:
boolean, integer, double, string (escalares)
array, object (compuestos)
resource, NULL
El tipo de una variable no se suele especificar. Se decide en
tiempo de ejecución en función del contexto y puede variar
Funciones de interés:
La función gettype() devuelve el tipo de una variable
Las funciones is_type comprueban si una variable es de un tipo dado:
is_array(), is_bool(), is_float(), is_integer(), is_null(),
is_numeric(), is_object(), is_resource(), is_scalar(),
is_string()
Tipos de datos
Tipo integer (números enteros)
27, -5, 0
Tipo double (números reales)
1.234, -5.33
Tipo boolean (lógico)
Valores: true, false (insensibles a las mayúsculas)
El 0 y la cadena vacía tienen valor false
Tipos de datos
Tipo string:
Las cadenas se encierran entre comillas simples o dobles:
‘simples’: admite los caracteres de escape ’ (comilla simple) y  (barra). Las
variables NO se expanden
“dobles”: admite más caracteres de escape, como n, r, t, , $, ”. Los nombres de
variables SÍ se expanden
$a = 9;
echo ‘a vale $a’; // muestra a vale $a
echo “a vale $a”; // muestra a vale 9
Variables
Las variables siempre van precedidas de un $
El nombre es sensible a las mayúsculas
Comienzan por letra o subrayado, seguido de letras, números o
subrayado
Variables predefinidas del sistema.:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,
$_ENV, $_REQUEST, $_SESSION
Ámbito: globales al fichero (excepto funciones) o locales a una
función
Constantes
Definición de constantes:
define (“CONSTANTE”, “hola”);
echo CONSTANTE;
No llevan $ delante
Sólo se pueden definir constantes de los tipos escalares (boolean,
integer, double, string)
Expresiones y operadores
Operadores aritméticos:
+, -, *, /, %, ++, --
Operador de asignación:
=
operadores combinados: .=, +=, etc
$a = 3; $a += 5;  a vale 8
$b = “hola ”; $b .= “mundo”;  b vale “hola mundo”
 Equivale a $b = $b . “mundo”;
Operadores de comparación:
==, !=, <, >, <=, >= y otros
Operador de control de error: @. Antepuesto a una expresión, evita
cualquier mensaje de error que pueda ser generado por la expresión
Operadores de cadena:
concatenación: . (punto)
asignación con concatenación: .=
Operadores lógicos:
and (&&), or (||), !, xor
Expresiones y operadores
Precedencia de operadores (de mayor a menor):
++, --
*, /, %
+,-
<, <=, >, >=
==, !=
&&
||
Estructuras de control
if-else
while
do .. while
for
foreach
switch
Estructuras de control
if-else
if (expresión1)
sentencia 1
else if (expresión2)
sentencia 2
...
else if (expresión n)
sentencia n
else
sentencia n+1
Mismo comportamiento que en C
Las sentencias compuestas se encierran entre llaves
elseif puede ir todo junto
Estructuras de control
while
while (expresión)
sentencia
Mismo comportamiento que en C
Estructuras de control
for
for (expresión1; expresión2; expresión3)
sentencia
Mismo comportamiento que en C
Estructuras de control
switch
switch (expresión)
{
case valor 1:
sentencia 1
break;
case valor 2:
sentencia 2
break;
…
case valor n:
sentencia n
break;
default
sentencia n+1
}
Mismo comportamiento que en C, sólo que la expresión del case
puede ser integer, float o string
Funciones. Declaración
Declaración de funciónes:
desde PHP4 se pueden declarar antes y después del
lugar donde es llamada.
function suma ($x, $y){ //
Declaracion
$s = $x + $y;
return $s; // Devuelve
valor
}
Funciones. Paso deparámetros
Por defecto los parámetros se pasan por valor
Para pasarlos por referencia utilizamos el operador &
function incrementa (&$a)
{
$a = $a + 1;
}
$a=1;
incrementa ($a);
print $a; // Muestra un 2
Funciones. Argumentos por defecto
Argumentos por defecto
function muestranombre ($titulo = "Sr.")
{
print "Estimado $titulo:n";
}
muestranombre ();
muestranombre ("Prof.");
Salida:
Estimado Sr.:
Estimado Prof.:
Funciones. Argumentos por defecto
Los argumentos con valores por defecto deben ser siempre los
últimos:
function muestranombre ($nombre, $titulo= "Sr.")
{
print "Estimado $titulo $nombre:n";
}
muestranombre (“Fernández”);
muestranombre (“Fernández”, "Prof.");
Salida:
Estimado Sr. Fernández:
Estimado Prof. Fernández:
Arrays. Arrays asociativos
Un array es una variable que está compuesta de varios elementos a los
que podemos acceder mediante un índice numérico o una clave.
Declaración. Sintaxis:
array ([clave =>] valor, ...)
La clave puede ser una cadena o un entero no negativo.
El valor puede ser de cualquier tipo válido en PHP, incluyendo
otro array
Ejemplos:
$colores = array (‘rojo’=>101, 5=>51, ‘azul’=>255);
$medidas = array (10, 25, 15);
Acceso:
echo $color[‘rojo’] // Muestra 101. No olvidar las comillas
echo $medidas[0] // Muestra 10
El primer elemento es el 0
También la clave puede ser omitida:
$matriz = array(5 => 1, 12 => 2);
Arrays. Recorrido
La estructura de control foreach permite iterar sobre arrays
Sintaxis:
foreach (expresión_array as $valor)
sentencia
foreach (expresión_array as $clave => $valor)
sentencia
Ejemplos:
foreach ($color as $valor)
print “Valor: $valor<BR>n”;
foreach ($color as $clave => $valor)
print “Clave: $clave; Valor: $valor<BR>n”;
Salida:
Valor: 101
Valor: 51
Valor: 255
Clave: rojo; Valor: 101
Clave: verde; Valor: 51
Clave: azul; Valor: 255
Arrays multidimensionales
Una forma muy practica de almacenar datos es mediante la
creación de arrays multidimensionales (tablas).
Un array multidimensional es simplemente un array en el que al
menos uno de sus valores es, a su vez, un array. Ejemplo:
$cosas = array ( "frutas" => array ( "a" =>
"naranja",
"b" =>
"banano",
"c" =>
"manzana"
),
"números" => array ( 1,
2,
3,
4,
5,
Arrays hasta en la sopa
Te gusten o no, si deseas usar php, deberás familiarizarte con los
arrays.
Para recuperar datos de una base de datos, obtienes un array. Si
dispones un conjunto de formularios, las variables pueden
manejarse en forma de array; a los autores de PHP los arrays
les encantan.
Existen algunos arrays predefinidos de alcance global por lo que
podemos acceder desde cualquier parte de nuestro script. Uno
de ellos es $_SERVER.
Bibliotecas de funciones
Existen muchas bibliotecas de funciones en PHP
Algunos ejemplos:
Funciones de manipulación de cadenas
Funciones de fecha y hora
Funciones de arrays
Funciones de ficheros
Funciones matemáticas
Funciones de bases de datos
Funciones de red
Algunas bibliotecas requieren la instalación de componentes
adicionales
Todas las funciones de biblioteca están comentadas en la
documentación de PHP

Más contenido relacionado

La actualidad más candente

Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
Simon Funk
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
Jose Emilio Labra Gayo
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
Boris Salleg
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
CSS - CSS3
CSS - CSS3CSS - CSS3
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShell
Dale Lane
 
TUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCHTUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCH
kelsy98
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code firstConfiz
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
Mayank Panchal
 
.Net Core
.Net Core.Net Core
.Net Core
Bertrand Le Roy
 
Restful web services ppt
Restful web services pptRestful web services ppt
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
WebStackAcademy
 
Php and MySQL
Php and MySQLPhp and MySQL
Php and MySQL
Tiji Thomas
 
C sharp
C sharpC sharp
C sharp
sanjay joshi
 
Core java
Core java Core java
Core java
Ravi varma
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
Bhagath Gopinath
 
C# - Part 1
C# - Part 1C# - Part 1
C# - Part 1
Md. Mahedee Hasan
 

La actualidad más candente (20)

Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
php
phpphp
php
 
CSS - CSS3
CSS - CSS3CSS - CSS3
CSS - CSS3
 
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShell
 
TUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCHTUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCH
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
.Net Core
.Net Core.Net Core
.Net Core
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 
C# basics
 C# basics C# basics
C# basics
 
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
 
Php and MySQL
Php and MySQLPhp and MySQL
Php and MySQL
 
C sharp
C sharpC sharp
C sharp
 
Core java
Core java Core java
Core java
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
C# - Part 1
C# - Part 1C# - Part 1
C# - Part 1
 

Destacado

Introduccion a php
Introduccion a phpIntroduccion a php
Introduccion a php
Carlos Lozano Zapata
 
introduccion al Lenguaje php
introduccion al Lenguaje phpintroduccion al Lenguaje php
introduccion al Lenguaje php
rmonago
 
Introduccion a PHP
Introduccion a PHPIntroduccion a PHP
Introduccion a PHP
Fabio Fabre
 
Manual batch
Manual batchManual batch
Manual batch
alan moreno
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHPjdaniel_7ez
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basico
alan moreno
 
Herramientas case snap
Herramientas case snapHerramientas case snap
Herramientas case snap
alan moreno
 
Manual completo python
Manual completo pythonManual completo python
Manual completo python
alan moreno
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorMiguel Orquera
 
Manual de PHP Basico
Manual de PHP BasicoManual de PHP Basico
Manual de PHP Basico
Carlos Zantana
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basicoclaudicristy
 
Estructura Básica de PHP
Estructura Básica de PHPEstructura Básica de PHP
Estructura Básica de PHP
Marysabel Morillo Ararat
 
Estructura basica de visual basic
Estructura basica de visual basicEstructura basica de visual basic
Estructura basica de visual basic
Fabiana Alejandra
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
Juan Belón Pérez
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
yanburbano
 
Manual de lenguaje c++
Manual de lenguaje c++Manual de lenguaje c++
Manual de lenguaje c++
alan moreno
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos
alan moreno
 

Destacado (20)

Introduccion a php
Introduccion a phpIntroduccion a php
Introduccion a php
 
introduccion al Lenguaje php
introduccion al Lenguaje phpintroduccion al Lenguaje php
introduccion al Lenguaje php
 
Php ppt
Php pptPhp ppt
Php ppt
 
Introduccion a PHP
Introduccion a PHPIntroduccion a PHP
Introduccion a PHP
 
Manual batch
Manual batchManual batch
Manual batch
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basico
 
Herramientas case snap
Herramientas case snapHerramientas case snap
Herramientas case snap
 
Manual completo python
Manual completo pythonManual completo python
Manual completo python
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Manual de PHP Basico
Manual de PHP BasicoManual de PHP Basico
Manual de PHP Basico
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basico
 
Estructura Básica de PHP
Estructura Básica de PHPEstructura Básica de PHP
Estructura Básica de PHP
 
Estructura basica de visual basic
Estructura basica de visual basicEstructura basica de visual basic
Estructura basica de visual basic
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
 
Manual de lenguaje c++
Manual de lenguaje c++Manual de lenguaje c++
Manual de lenguaje c++
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos
 

Similar a Introducción a php

Php
PhpPhp
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
miguelalemangonzales1
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
Spacetoshare
 
Tema2 3
Tema2 3Tema2 3
Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion Php
Jose Ponce
 
ssssssssssssssssssssssssssdddddddddddddsssssssss
ssssssssssssssssssssssssssdddddddddddddsssssssssssssssssssssssssssssssssssdddddddddddddsssssssss
ssssssssssssssssssssssssssdddddddddddddsssssssss
invycomerferradaravi
 
Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
carlosadrianev
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2cognos_uie
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
96elnoble14
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
lissette_torrealba
 
Php Basico
Php BasicoPhp Basico
Php Basico
Eliecer Cedano
 
Php
PhpPhp
Php
cecusme
 
Php
PhpPhp
Php
aymel27
 

Similar a Introducción a php (20)

Php
PhpPhp
Php
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion Php
 
ssssssssssssssssssssssssssdddddddddddddsssssssss
ssssssssssssssssssssssssssdddddddddddddsssssssssssssssssssssssssssssssssssdddddddddddddsssssssss
ssssssssssssssssssssssssssdddddddddddddsssssssss
 
Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
 
Php Basico
Php BasicoPhp Basico
Php Basico
 
Php1 sesión 6
Php1 sesión 6Php1 sesión 6
Php1 sesión 6
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php
PhpPhp
Php
 
Php
PhpPhp
Php
 
Presentacion
PresentacionPresentacion
Presentacion
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 

Más de alan moreno

Poo y mvc en php
Poo y mvc en phpPoo y mvc en php
Poo y mvc en php
alan moreno
 
html5-css3
html5-css3html5-css3
html5-css3
alan moreno
 
Ejercicios resueltos en c
Ejercicios resueltos en cEjercicios resueltos en c
Ejercicios resueltos en c
alan moreno
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datos
alan moreno
 
Batch file programming
Batch file programmingBatch file programming
Batch file programming
alan moreno
 
Batch
BatchBatch
Base de datos postgresql
Base de datos postgresqlBase de datos postgresql
Base de datos postgresql
alan moreno
 
Algebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossmanAlgebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossman
alan moreno
 
Primitivas
PrimitivasPrimitivas
Primitivas
alan moreno
 
Método de la bisección
Método de la bisecciónMétodo de la bisección
Método de la bisección
alan moreno
 
CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2alan moreno
 
Uso de los corchetes [ ]
Uso de los corchetes [  ]Uso de los corchetes [  ]
Uso de los corchetes [ ]alan moreno
 
Sensores-parte iii.presion
 Sensores-parte iii.presion Sensores-parte iii.presion
Sensores-parte iii.presionalan moreno
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosalan moreno
 
El huerto familiar biointensivo
El huerto familiar biointensivoEl huerto familiar biointensivo
El huerto familiar biointensivoalan moreno
 
Formatos de imagnes
Formatos de imagnesFormatos de imagnes
Formatos de imagnesalan moreno
 
Formatos de imagnes
Formatos de imagnesFormatos de imagnes
Formatos de imagnesalan moreno
 
Numero pseudoaleatorio
Numero pseudoaleatorioNumero pseudoaleatorio
Numero pseudoaleatorioalan moreno
 

Más de alan moreno (20)

Poo y mvc en php
Poo y mvc en phpPoo y mvc en php
Poo y mvc en php
 
html5-css3
html5-css3html5-css3
html5-css3
 
Ejercicios resueltos en c
Ejercicios resueltos en cEjercicios resueltos en c
Ejercicios resueltos en c
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datos
 
Batch file programming
Batch file programmingBatch file programming
Batch file programming
 
Batch
BatchBatch
Batch
 
Base de datos postgresql
Base de datos postgresqlBase de datos postgresql
Base de datos postgresql
 
Algebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossmanAlgebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossman
 
Primitivas
PrimitivasPrimitivas
Primitivas
 
Método de la bisección
Método de la bisecciónMétodo de la bisección
Método de la bisección
 
CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2
 
Uso de los corchetes [ ]
Uso de los corchetes [  ]Uso de los corchetes [  ]
Uso de los corchetes [ ]
 
Sensores-parte iii.presion
 Sensores-parte iii.presion Sensores-parte iii.presion
Sensores-parte iii.presion
 
Actuadores
ActuadoresActuadores
Actuadores
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntos
 
El huerto familiar biointensivo
El huerto familiar biointensivoEl huerto familiar biointensivo
El huerto familiar biointensivo
 
modelo OSI
modelo OSImodelo OSI
modelo OSI
 
Formatos de imagnes
Formatos de imagnesFormatos de imagnes
Formatos de imagnes
 
Formatos de imagnes
Formatos de imagnesFormatos de imagnes
Formatos de imagnes
 
Numero pseudoaleatorio
Numero pseudoaleatorioNumero pseudoaleatorio
Numero pseudoaleatorio
 

Último

experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 

Último (10)

experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 

Introducción a php

  • 1. PHP
  • 2. Lenguaje PHP básico Introducción Sintaxis básica Tipos de datos Variables Constantes Expresiones y operadores Estructuras de control Funciones Tablas Bibliotecas de funciones
  • 3. Introducción PHP es un lenguaje de programación interpretado Diseñado originalmente para la creación de páginas web dinámicas Usado principalmente en interpretación del lado del servidor Actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas (aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+) La mayor parte de su sintaxis ha sido tomada de C, Java y Perl Otras tecnologías de servidor: Coldfusion, JSP, PHP, ASP o
  • 4. Web estática vs dinámica Página estática compuesta por código HTML. Cuando el archivo es requerido por el navegador, el servidor lo envía y tal cual Todos los visitantes verán el mismo contenido.
  • 5. Web estática vs dinámica En sitio dinámico, la página se procesa en el servidor antes de ser enviada al navegador. El archivo en php contiene código php que al ser ejecutado generará código html. Al ejecutar el código, pueden hacerse consultas/accesos a bases de datos u otros archivoso o servicios. El resultado final que se envía al navegador tiene extensión .php, pero es código HTML Resultado generado para este visitante en particular
  • 7. Sintaxis básica PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? <?PHP ... ?> Comentarios: como en C, /* … */ y // Las instrucciones se separan con un ; como en C. La marca final ? > implica un ;
  • 8. Sintaxis básica Para devolver un texto: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; // no es una función echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; // no es una función print “Hola mundo”; print “Hola “ . “mundo”;
  • 9. Sintaxis básica Ejemplo: <HTML> <HEAD> <TITLE>Mi primer programa en PHP</TITLE> </HEAD> <BODY> <?PHP echo (“<p>Hola mundo</p>”); ?> </BODY> </HTML>
  • 10. Sintaxis básica Uso de n para generar código HTML legible a) Sin n echo (“<P>Párrafo 1</P>”); echo (“<P>Párrafo 2</P>”); <P>Párrafo 1</P><P>Párrafo 2</P> Párrafo 1 Párrafo 2 Código PHP Código HTML Salida
  • 11. Sintaxis básica Uso de n para generar código HTML legible b) Con n echo (“<P>Párrafo 1</P>n”); echo (“<P>Párrafo 2</P>n”); <P>Párrafo 1</P> <P>Párrafo 2</P> Párrafo 1 Párrafo 2 Código PHP Código HTML Salida
  • 12. Sintaxis básica Inclusión de ficheros externos: include() require() Ambos incluyen y evalúan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Se usará require() si al producirse un error debe interrumpirse la carga de la página Ejemplo:
  • 13. Sintaxis básica <HTML> <HEAD> <TITLE>Título</TITLE> <?PHP // Incluir bibliotecas de funciones require ("$libdir/conecta.php"); require ("$libdir/fecha.php"); ?> </HEAD> <BODY> <?PHP include ("cabecera.html"); ?> // Código HTML + PHP . . . <?PHP include ("pie.html"); ?> </BODY> </HTML>
  • 14. Tipos de datos PHP soporta 8 tipos de datos primitivos: boolean, integer, double, string (escalares) array, object (compuestos) resource, NULL El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar Funciones de interés: La función gettype() devuelve el tipo de una variable Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string()
  • 15. Tipos de datos Tipo integer (números enteros) 27, -5, 0 Tipo double (números reales) 1.234, -5.33 Tipo boolean (lógico) Valores: true, false (insensibles a las mayúsculas) El 0 y la cadena vacía tienen valor false
  • 16. Tipos de datos Tipo string: Las cadenas se encierran entre comillas simples o dobles: ‘simples’: admite los caracteres de escape ’ (comilla simple) y (barra). Las variables NO se expanden “dobles”: admite más caracteres de escape, como n, r, t, , $, ”. Los nombres de variables SÍ se expanden $a = 9; echo ‘a vale $a’; // muestra a vale $a echo “a vale $a”; // muestra a vale 9
  • 17. Variables Las variables siempre van precedidas de un $ El nombre es sensible a las mayúsculas Comienzan por letra o subrayado, seguido de letras, números o subrayado Variables predefinidas del sistema.: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION Ámbito: globales al fichero (excepto funciones) o locales a una función
  • 18. Constantes Definición de constantes: define (“CONSTANTE”, “hola”); echo CONSTANTE; No llevan $ delante Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
  • 19. Expresiones y operadores Operadores aritméticos: +, -, *, /, %, ++, -- Operador de asignación: = operadores combinados: .=, +=, etc $a = 3; $a += 5;  a vale 8 $b = “hola ”; $b .= “mundo”;  b vale “hola mundo”  Equivale a $b = $b . “mundo”; Operadores de comparación: ==, !=, <, >, <=, >= y otros Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión Operadores de cadena: concatenación: . (punto) asignación con concatenación: .= Operadores lógicos: and (&&), or (||), !, xor
  • 20. Expresiones y operadores Precedencia de operadores (de mayor a menor): ++, -- *, /, % +,- <, <=, >, >= ==, != && ||
  • 21. Estructuras de control if-else while do .. while for foreach switch
  • 22. Estructuras de control if-else if (expresión1) sentencia 1 else if (expresión2) sentencia 2 ... else if (expresión n) sentencia n else sentencia n+1 Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaves elseif puede ir todo junto
  • 23. Estructuras de control while while (expresión) sentencia Mismo comportamiento que en C
  • 24. Estructuras de control for for (expresión1; expresión2; expresión3) sentencia Mismo comportamiento que en C
  • 25. Estructuras de control switch switch (expresión) { case valor 1: sentencia 1 break; case valor 2: sentencia 2 break; … case valor n: sentencia n break; default sentencia n+1 } Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string
  • 26. Funciones. Declaración Declaración de funciónes: desde PHP4 se pueden declarar antes y después del lugar donde es llamada. function suma ($x, $y){ // Declaracion $s = $x + $y; return $s; // Devuelve valor }
  • 27. Funciones. Paso deparámetros Por defecto los parámetros se pasan por valor Para pasarlos por referencia utilizamos el operador & function incrementa (&$a) { $a = $a + 1; } $a=1; incrementa ($a); print $a; // Muestra un 2
  • 28. Funciones. Argumentos por defecto Argumentos por defecto function muestranombre ($titulo = "Sr.") { print "Estimado $titulo:n"; } muestranombre (); muestranombre ("Prof."); Salida: Estimado Sr.: Estimado Prof.:
  • 29. Funciones. Argumentos por defecto Los argumentos con valores por defecto deben ser siempre los últimos: function muestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:n"; } muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); Salida: Estimado Sr. Fernández: Estimado Prof. Fernández:
  • 30. Arrays. Arrays asociativos Un array es una variable que está compuesta de varios elementos a los que podemos acceder mediante un índice numérico o una clave. Declaración. Sintaxis: array ([clave =>] valor, ...) La clave puede ser una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array Ejemplos: $colores = array (‘rojo’=>101, 5=>51, ‘azul’=>255); $medidas = array (10, 25, 15); Acceso: echo $color[‘rojo’] // Muestra 101. No olvidar las comillas echo $medidas[0] // Muestra 10 El primer elemento es el 0 También la clave puede ser omitida: $matriz = array(5 => 1, 12 => 2);
  • 31. Arrays. Recorrido La estructura de control foreach permite iterar sobre arrays Sintaxis: foreach (expresión_array as $valor) sentencia foreach (expresión_array as $clave => $valor) sentencia Ejemplos: foreach ($color as $valor) print “Valor: $valor<BR>n”; foreach ($color as $clave => $valor) print “Clave: $clave; Valor: $valor<BR>n”; Salida: Valor: 101 Valor: 51 Valor: 255 Clave: rojo; Valor: 101 Clave: verde; Valor: 51 Clave: azul; Valor: 255
  • 32. Arrays multidimensionales Una forma muy practica de almacenar datos es mediante la creación de arrays multidimensionales (tablas). Un array multidimensional es simplemente un array en el que al menos uno de sus valores es, a su vez, un array. Ejemplo: $cosas = array ( "frutas" => array ( "a" => "naranja", "b" => "banano", "c" => "manzana" ), "números" => array ( 1, 2, 3, 4, 5,
  • 33. Arrays hasta en la sopa Te gusten o no, si deseas usar php, deberás familiarizarte con los arrays. Para recuperar datos de una base de datos, obtienes un array. Si dispones un conjunto de formularios, las variables pueden manejarse en forma de array; a los autores de PHP los arrays les encantan. Existen algunos arrays predefinidos de alcance global por lo que podemos acceder desde cualquier parte de nuestro script. Uno de ellos es $_SERVER.
  • 34. Bibliotecas de funciones Existen muchas bibliotecas de funciones en PHP Algunos ejemplos: Funciones de manipulación de cadenas Funciones de fecha y hora Funciones de arrays Funciones de ficheros Funciones matemáticas Funciones de bases de datos Funciones de red Algunas bibliotecas requieren la instalación de componentes adicionales Todas las funciones de biblioteca están comentadas en la documentación de PHP