SlideShare uma empresa Scribd logo
1 de 231
El lenguaje PHP
Ing. Jesús Luque Medina
Vista general PHP
PHP Hypertext Pre-processor
Visón General

3

PHP es un lenguaje de programación de uso general de
código del lado del servidor originalmente diseñado para
el desarrollo web de contenido dinámico.
Fue uno de los primeros lenguajes de programación del
lado del servidor que se podían incorporar directamente
en el documento HTML en lugar de llamar a un archivo
externo que procese los datos.
El código es interpretado por un servidor web con un
módulo de procesador de PHP que genera la página Web
resultante.
Características de PHP

4

• Orientado al desarrollo de aplicaciones web dinámicas
con acceso a información almacenada en una base de
datos.
• Capacidad de conexión con la mayoría de los motores de
base de datos que se utilizan en la actualidad, destaca
su conectividad con MySQL y PostgreSQL.
• Es LIBRE.
• Amplia documentación en el sitio oficial (php.net)
• Orientado a Objetos
• No requiere definir los tipos de las variables
• Tiene manejo de excepciones desde PHP5
PHP y el servidor WEB

5
TIPOS DE DATOS
VARIABLES Y CONSTANTES
LOGROS
Almacenar información en
variables
Manejar constantes y
constantes predefinidas de PHP

Utilizar funciones de manejo
de datos

7
VARIABLES

8

• Como en todos los lenguajes de programación, PHP
permite almacenar datos de distintos tipos en memoria.
Estas zonas de memoria se llaman variables.
• NO necesitan ser declaradas antes de comenzar el
programa.
Valor

Nombre
Nombres de variables

9

• El nombre de una variable empieza por el simbolo de
dólar $.
• El nombre de una variable debe comenzar por una letra
o un símbolo de subrayado (_).
• El nombre de una variable solo puede contener letras,
números y el símbolo de subrayado (_).

• PHP es CASESENSITIVE (sensible a mayúsculas y
minúsculas) por lo que las variables $numero y $NUMERO
son diferentes.
Ejemplo

10
Tipos de variables

11

• Simples
• Entero: Almacena números sin decimales (se puede usar
notación decimal, octal, hexadecimal)
• Flotante: Números con decimales.
• Carácter (STRING): Texto o información numérica escrita entre
comillas dobles (“ ”) o simples („ „)
• Boolean: Solo puede almacenar TRUE o FALSE
• Nulo: Valor especial que solo contiene el valor NULL

• Compuestos
• Array: Colecciones de datos
• Objeto: Conjunto de datos y funciones independientes
Ejemplo

12
Convenciones

13

• Para poner nombres a variables hay dos estándares:
• CAMEL CASE: Se pone en mayúsculas la inicial de cada una de
las palabras del nombre de la variables excepto la primera.
$estoEsUnaVariable = 10;
• Separación con Subrayado: Cada palabra se separa por un
símbolo de subrayado.

$esto_es_una_variable = 10;
Variables: Enteros

14

• Números sin decimales, en notación decimal, octal o
hexadecimal.
Variables: flotantes
• Números con decimales.

15
Variables: String

16

• Es un conjunto de caracteres encerrados entres comillas
dobles (“”) o simples („‟)
Variables: String

17

La diferencia entre comillas dobles es la siguiente:
• Comillas simples: Todo lo que este entre las comillas es un texto
el que se imprimirá tal cual lo escribamos.
• Comillas doble: Permite incluir variables para imprimirlas junto
con el texto.

$dato se reemplazará
por PHP
Secuencia de escape

18

• Existen algunos caracteres especiales, que no pueden
añadirse a una variable de tipo STRING a menos que
avisemos a PHP para que las maneje adecuadamente.
Este aviso se llama SECUENCIA DE ESCAPE y se denota
con el símbolo de contra-slash()
Variables: Booleanas

19

• Solo almacenan True o False
• Además de las variables booleanas, podemos utilizar
otros tipos de datos como verdaderos o falsos para hacer
nuestras comprobaciones:
• Los números enteros o decimales, positivos o negativos son
todos verdaderos.
• El 0 es falso
• Los Strings son verdaderos, excepto cuando no contienes ningún
carácter, o cuando contienen el carácter “0”
• Las variables NULL son siempre falsas
CONSTANTES

20

• Las constantes son tipos de datos que no varían durante
la ejecución de un programa.
• Para definir una constante se usa la función DEFINE()
DEFINE(“nombre constante”,”valor”);
• Por lo general las variables se definen en mayúsculas.
• Las constantes por defecto son sensibles a mayúsculas
minúsculas, se puede alterar la definición de la
constante de la siguiente manera:
DEFINE(“nombre”,valor,true);
Ejemplo

21
DEFINED()

22

• Se puede averiguar si una constante ya se ha creado, con
la función DEFINED()
Constantes predefinidas

23

• PHP incorpora algunas constantes listas para ser usadas:
NOMBRE

DESCRIPCION

PHP_VERSION

Versión del PHP que estamos usando

PHP_OS

Sistema Operativo del servidor

PHP_LIBDIR

Ruta de almacenamiento de las librerías de PHP

__LINE__

Línea desde donde se imprime esta constante

__FILE__

Ruta completa del archivo

__FUNCTION__

Nombre de la función que la contiene

__METHOD__

Nombre del método

__CLASS__

Nombre de la clase
Ejemplo

24
Funciones para variables

25

• PHP nos brinda las siguiente funciones para trabajar con
variables:
•
•
•
•
•
•
•

Isset()
Unset()
Gettype()
Settype()
Empty()
Is_integer(), is_double(), is_string()
Intval(), doubleval(), strval()
Isset()

26

• Con esta función podemos saber si una variable existe
dentro de nuestro programa.
Unset()

27

• Con esta función liberamos la memoria ocupada por la
variable, destruyendo su nombre y contenido.
Gettype()

28

• Con esta función podemos saber el tipo de dato
almacenado en una variable. Puede devolver uno de los
siguiente valores:
•
•
•
•
•
•
•

Integer
Double
String
Array
Object
Class
Unknown type
Settype()

29

• Convierte el tipo de la variable al especificado en la
función.
• Si la variable no es capaz de convertir la variable
devuelve false.
• Al intentar convertir un string en un integer, la función
busca un número sino lo encuentra convierte la variable
y le asigna el valor cero (0) y evalúa como correcta.
• Los tipos admitidos para la conversión son:
•
•
•
•
•

Integer
String
Double
Object
array
Ejemplo

30

Probar con números al inicio y al
medio de la variable
Empty()

31

• Comprueba si una variable esta vacía, no existe o tiene
el valor de 0
Is_integer(), is_double(),
is_string()

32

• Estas funciones devuelven true si la variable especificada
coincide con el tipo que indica la función.
Intval(), doubleval(), strval()

33

• Convierte el valor de una variable al tipo indicado en la
función.
• NO permite la conversión a tipos object y array.
OPERADORES
LOGROS
Utilizar los diferentes
operadores existentes

Distinguir entre operadores
unarios, binarios y ternario
Comprender la preferencia de
ejecución entre operadores

35
Introducción
Existen varios tipos de operadores:
• Asignación
• Unario
• Aritméticos

• Comparación
• Lógicos
• Ternario

36
Operador de Asignación

37

• Es el operador mas sencillo y sirve para asignar un valor
a una variable.
Operadores asignación
combinados

38
Operador Unario
• El signo menos (-) sirve para hacer a los números
negativos o positivos dependiendo del signo actual.

39
Operadores de Comparación

40
Operadores Lógicos

41

• Sirven para evaluar dos o mas condiciones, a excepción
del operador de negación que solo niega el valor de la
condición.
Tablas de verdad operadores
lógicos

42
Operadores Aritméticos

43
Operador Ternario

44

• El operador ternario evalúa un operando y dependiendo
de si es falso o verdadero, evalúa el segundo operando o
el tercero.
• La expresión que se quiere evaluar se escribe delante
de un símbolo (?), después la expresión que tiene que
ejecutarse si la evaluación anterior es true, seguida del
símbolo (:) con la expresión que debe ejecutarse si es
false.
Operador de
incremento/decremento
Pueden estar en prefijo o sufijo
• ++
• --

45
Operador supresión de errores

46
Precedencia de Operadores

47
48
ESTRUCTURAS DE CONTROL
LOGROS
Utilizar estructuras de elección
Crear bucles de diferentes tipos
Crear programas
Conocer las sentencias para
interrumpir un bucle

50
Introducción

51

• Es difícil imaginar un programa sin estructuras de
control. Estas nos permiten elegir diferentes caminos en
función de los datos que evaluamos en cada momento.
• Hay dos tipos de estructuras de control:
• Estructuras de elección
• Estructuras de bucle
IF

52

• La sintaxis de esta estructura es:
IF (condicion)
Instrucción;

• Si se cumple la condición se ejecuta la instrucción que
le sigue. Si se quiere que se ejecuten varias
instrucciones se debe de utilizar el símbolo de llave.
IF (condicion){
Instruccion1;
Instruccion2;
}
IF - ELSE

53

• Se puede ampliar la estructura IF para que se pueda
elegir entre condición verdadera y falsa.
If (condicion){
instruccion1;
instruccion2;
} else {
Instruccion1;
Instruccion2;
}
Ejemplo

54
IF – ELSEIF - ELSE
• Sirve para comparar un valor contra varios valores:
If (condicion){
…
} elseif (condicion){
…
}
Else{
…
}

55
Ejemplo

56
SWITCH

57

• Sirve para comprobar el valor de una expresión y permite elegir
entre un grupo de instrucciones.
Switch (expresion) {
case valor1:
instruccion1;
instruccion2;
break;
case valor2:
instruccion2;
Break;
default:
instruccion1;
Instruccion2;
}

La instrucción tiene que devolver un
valor ENTERO, FLOTANTE o STRING

Es necesario colocar el
break

Solo se ejecuta si ningún
valor cumple la expresión
Ejemplo

Probar quitando las
instrucciones BREAK e
interpretar los resultados

58
BUCLE - WHILE

59

• Es el más básico de todos, su estructura es la siguiente:

While (condicion) {
instruccion1;
instruccion2;
}
La condición se evalúa antes de ejecutarse las
instrucciones.
Ejemplo

60
Ejemplo

61

• En este ejemplo el bucle WHILE se ejecutará 10 veces,
tener cuidado de incrementar la variable que estamos
usando como contador, sino el bucle sería infinito.
BUCLE – DO WHILE

62

• Es igual que el bucle WHILE, solo que la condición se
evalúa al final, por lo que el código entre llaves se
ejecuta al menos una vez.
Do {
Instruccion1;
Instruccion2;
} while (condicion);
Ejemplo

63
BUCLE - FOR

64

• El bucle FOR tiene la siguiente sintaxis:
For(expresionInicial; condicion; expresionFinal){
instruccion1;
instruccion2;
}
La expresionInicial se ejecuta una sola vez al inicio. La
condición se evalúa cada vez que se ejecuta el bucle, si
es verdadera se ejecuta el bucle si es false termina el
bucle. La expresión final se ejecuta cada vez al terminar
de ejecutar las instrucciones.
FOR Infinito

65

• Se puede hacer un bucle FOR infinito de la siguiente
manera:
Ejemplo

66
BREAK

67

• Normalmente un bucle termina cuando la condición a
evaluada es falsa, con break podemos terminar la
ejecución del bucle ante una segunda condición.

Convertir el bucle FOR en un WHILE
CONTINUE

68

• Salta la ejecución del bucle hasta el final y comienza
una nueva iteración.
EJERCICIOS

69

• Hacer un programa que imprima los primeros 1000 un
eros impares.
• Hacer un programa que imprima los números impares del
1 al 1000
• Hacer un programa que imprima los números divisibles
entre 5 y 2 desde el 1 hasta el 100
• Hacer un programa que imprima los números divisibles
entre 5 y si el numero es divisible entre 2 que no se
imprima.
• Hacer un programa que le pasen un valor y te diga el
mes al que corresponde, y muestre un error si no
corresponde a ningún mes.
FUNCIONES
LOGROS
Crear funciones propias

Utilizar parámetros fijos y variables
Crear funciones recursivas
Separar el código en varios archivos

71
FUNCIONES

72

• Las funciones son grupos de instrucciones
independientes que tienen un propósito determinado.
• La sintaxis básica de una función es la siguiente:

Nombre_funcion(parametro1,parametro2,…parametroN)
• Las funciones pueden ser llamadas con varios parámetros
o con ninguno, dependiendo de su definición.
FUNCIONES sin argumentos y sin
valor de retorno

73

• Es la forma mas básica de una función. Su sintaxis es de
la siguiente manera:

function nombre_de_funcion(){
//El código va aquí
}

• function es una palabra clave que indica que estamos
definiendo una función.
EJEMPLO

74

• Definimos una función que muestra un texto sencillo.

Cuerpo de la función

Delimitador
de la función

• La función saludo solo imprime mediante echo un texto.
EJERCICIOS

75

1. Crear una función que imprima 10 veces y en 10 líneas
el siguiente texto:
Aprendiendo a usar funciones en PHP
2. Modificar la función anterior para que imprima 100
veces el mismo texto, pero a cada 10 líneas imprima una
línea en blanco de separación.
FUNCIONES con parámetro

76

• Un parámetro es un valor que se le proporciona a la
función para que lo utilice en su procesamiento.
• Se utiliza la siguiente sintaxis:

function nombre_de_funcion(parametro){
//El código va aquí
}
EJEMPLO
• Definir una función que imprima un saludo
personalizado.

77
EJERCICIOS

78

1. Crear una función que imprima las lista de los números
pares, el numero máximo a imprimir estará definido
por un parámetro.
2. Crear una función que imprima los números divisibles
entre 3 de manera inversa desde un numero definido
por un parámetro hasta el número 1.
3. Crear una función que imprima la tabla de multiplicar
desde el 1 hasta el 12, para el número que se le pase
como parámetro.
FUNCIONES con varios
parámetros

79

• Una función puede tener varios parámetros, para esto
hay que separarlos por comas (,) en su definición y al
momento de su llamado.
function nombre_de_funcion(parametro1, parametro2,…,parametroN){
//El código va aquí
}
EJEMPLO

80

• Crear una función que imprima la suma de 2 números
EJEMPLO

81

• Crear una función que imprima un texto pasado como
parámetro, tantas veces como lo indique un segundo
parámetro.
VALOR DE UNA FUNCION

82

• Cada función en PHP se considera como una expresión.
• Se puede almacenar el valor de una función en una
variable o formar parte de una expresión mas compleja.

• No todas las funciones devuelven un valor numérico,
pueden devolver string, array o true/false.
• Para que una función retorne un valor se utiliza la
palabra clave return.
EJEMPLO

83
EJEMPLO

84
AMBITO DE LAS VARIABLES

85

• Las variables definidas en un fichero PHP quedan
definidas en todo el archivo excepto dentro de la
función.
• Las variables definidas dentro de una función solo
pueden ser accedidas dentro de la función, y además las
funciones solo pueden acceder a las variables dentro de
ella misma.
EJEMPLO
$pi definida fuera de la función

Se pregunta si NO existe la variable $pi

86
ACCEDER A VARIABES FUERA DE
LA FUNCION - GLOBAL

87

• Para que una función pueda acceder a una variable que
esta definida fuera de la función debemos de utilizar la
palabra clave global.
VARIABLES ESTATICAS

88

• Por defecto PHP cada vez que ejecuta una función asigna
valores iniciales a las variables locales.
• La declaración STATIC hace que una variable retenga su
valor en cada llamada a la función.
EJEMPLO

89
INCLUDE() Y REQUIRE()

90

• A medida que el proyecto se hace mas complejo , se
comenzara a crear funciones útiles para conectar a bases
de datos, crear imágenes, conectarse a FTP, estas
funciones se pueden utilizar en otros proyectos para
ahorrar tiempo.
• Ambas funciones incluyen el contenido del archivo que
indican.
• INCLUDE permite que la ejecución del programa
continúe, si el archivo no existe.
• REQUIRE detiene la ejecución del programa si el archivo
a incluir no existe.
EJEMPLO

91
RECURSIVIDAD

92

• Las funciones recursivas son aquellas que se llaman así
mismas.
• EL único requisito es que haya una forma de salir de la
función recursiva.
EJEMPLO

93
ARGUMENTOS POR DEFECTO

94

• Lo normal cuando llamamos a una función que tiene
parámetros en su definición, es que ocasione un error si
no los incluimos en el llamado.
• Cuando asignamos un valor por defecto a un parámetro,
si al momento de llamar a la función este parámetro es
obviado, se le asignará el valor que se le asignó en la
definición.
• La limitación es que los parámetros tienen un orden y no
pueden saltarse.
EJEMPLO

95
Argumentos mediante ARRAYS

96

• El usar arrays como argumentos de funciones es una
forma flexible y muy utilizada en PHP para pasar varios
argumentos a una función.
Argumentos variables

97

• ¿Qué pasa cuando no sabemos cuantos argumentos va a
recibir la función?
• Func_num_args(): devuelve el numero de argumentos
con que se ha llamado a la función
• Func_get_arg(posicion): devuelve el argumento x que ha
sido pasado en la posicion posicion.
• Func_get_args(): devuelve un array con todos los
argumentos pasados a la función, con los índices del
array empezando en 0.
• Estas funciones solo pueden ser llamadas dentro de una
función.
EJEMPLO

98
PARAMETROS POR VALOR

99

• Por defecto, las llamadas a funciones se hacen por valor.
Esto quiere decir que las variables que se utilizan como
parámetros se copian a la función y cualquier cambio
que se le haga a la variable se hace sobre la copia y no
sobre el original.
PARAMETROS POR REFERENCIA

100

• Las variables pasadas por referencia pueden ser
modificadas por la función que las recibe.
• Para pasar una variable por referencia hay que utilizar
el operador (&) delante de la variable.
REFERENCIAS A VARIABLES

101

• Las referencias pueden usarse también fuera de las
funciones, para crear referencias a las variables (esto se
llama punteros en otros lenguaje).
CADENAS DE CARACTERES Y
EXPRESIONES REGULARES

102
LOGROS
Diferenciar comillas simples de dobles
Trabajar con cadenas de múltiples líneas
Concatenar varias cadenas
Generar nuevas cadenas a partir de una original
Eliminar espacios en blanco de una cadena
Convertir a mayúsculas / minúsculas

103
STRINGS

104

• Una cadena de caracteres o string son secuencias de
caracteres que pueden ser tratadas como una unidad,
asignadas a variables, pasadas como parámetros a
funciones o enviadas como salida al navegador.
• Un string se diferencia de otro tipo de dato porque va
encerrado entre comillas dobles (“) o simples („).

“Cadena entre comillas dobles”

„cadena entre comillas simples‟
STRINGS

105

• PHP interpreta de distinta manera los string que van
entre comillas dobles y las que van entre comillas
simples.
• Los strings entre comillas doble pueden sustituir ciertos
símbolos por acciones, como la inclusión del valor de una
variable.
• Las comillas simples, simplemente muestran todo el
contenido, sin cambiar ningún carácter especial.
EJEMPLO

106
INDICES DE STRING

107

• Podemos acceder a cada carácter de una cadena en base
a su posición.
• Para acceder al carácter se utiliza los símbolos de
llave({}) y un índice numérico que corresponderá con la
posición del carácter que buscamos.
EJEMPLO

108
OPERADOR DE CONCATENACION

109

• El operador de concatenación es el punto (.), y se utiliza
para unir varias cadenas, sean caracteres o variables.
SINTAXIS DE MULTIPLES LINEAS

110

• Cuando queremos introducir textos que son muy largos
se puede utilizar el operador (<<<).
• La forma de utilizar es la siguiente:

$variable = <<<XXX
//aquí se pone todo
//su texto
//todo todo todo
XXX;

XXX puede ser cualquier nombre
EJEMPLO

111
FUNCIONES DE CADENAS
Strlen()
Strpos()
Strrpos()
Strcmp()
Strcasecmp()
Strstr()
Substr()

Chop(), rtrim(), ltrim(), trim
Str_replace()
Strtolower(), strtoupper(), ucfirst(), ucwords()

112
Strlen()

113

• La función strlen() devuelve como resultado la cantidad
de caracteres que contiene la cadena que pasemos como
parámetro.
Strpos()

114

• La función strpos() encuentra en un string la posición de
un carácter determinado.
Strrpos()

115

• Para buscar caracteres desde el final de la cadena
tenemos que utilizar strrpos() (la letra r que se añade
viene del ingles reverse)
Strcmp()

116

• Esta función compara bit a bit dos cadenas de
caracteres.
• Esa función puede devolver los siguientes resultados:
1. Devuelve 0 si las dos cadenas son exactamente iguales.
2. Devuelve un valor negativo, si el primer string es mas
pequeño que el segundo.
3. Devuelve un valor

•

Esta función es case-sensitive, es decir las cadenas
Hola y hoLa son diferentes.
EJEMPLO

117
Strcasecmp()
• Es igual que strcmp() solo que no distingue entre
mayúsculas y minúsculas.

118
Strstr()

119

• La función strstr() recibe 2 cadenas como parámetro, la
primera es donde buscaremos la segunda cadena.
• Si se encuentra la segunda cadena, esta función
devuelve una cadena que comenzará justo en la segunda
cadena encontrada hasta el final de la cadena.
• Si no se encuentra, devuelve false.
EJEMPLO

120
Substr()

121

• Permite seleccionar un conjunto de caracteres de una
cadena, quedando intacta la cadena original.
• Substr(cadena, indice): cadena es el string del cual
queremos cortar los caracteres desde la posición
indicada por indice.
• Substr(cadena, indice, cantidad): cantidad determina el
numero de caracteres a cortar desde la posición indicada
por indice.
Substr()

122
EJEMPLO

123
FUNCIONES DE LIMPIEZA

124

• Estas funciones se encargan de eliminar espacios en
blanco al inicio, al final o a ambos lados pero no al
medio del string.
•
•
•
•

Ltrim(): elimina espacios en blanco al inicio del string.
Rtrim(): elimina espacios en blanco al final del string.
Trim(): elimina espacios en blanco a ambos lados.
Chop(): es un sinónimo de rtrim().
EJEMPLO

125
Str_replace()
• La función str_replace() toma tres argumentos:
1. Los caracteres a buscar
2. Los caracteres que reemplazaran a los primeros
3. La cadena en la cual vamos a buscar

126
FUNCIONES PARA MAYUSCULAS Y
MINUSCULAS

127

• Strtolower(): convierte toda la cadena en minúsculas.
• Strtoupper(): convierte toda la cadena en mayúsculas.

• Ucfirst(): convierte en mayúscula la primera letra de la
cadena.
• Ucwords(): convierte en mayúscula la inicial de cada
palabra.
EJEMPLO

128
EJERCICIOS

129

• Crear un programa que analice una cadena y que
imprima cuantas vocales hay.
• Crear un programa que imprima cuantas vocales a, e, i,
o , u hay en una cadena.
• Transformar los dos programas en funciones.
• Crear una función que reciba una cadena y que imprima
la misma cadena pero que convierta los espacios en
blanco en puntos.
• Crear una segunda versión de la función anterior y que le
indiquemos el carácter con el cual reemplazaremos el
espacio con un segundo parámetro.
DEBUG CON NETBEANS

130
Configurar php.ini

131

• Hacer DEBUG o depurar un código es la mejor manera de
encontrar errores de lógica.
• Por defecto la instalación de XAMPP no configura PHP
para que permita la depuración.
• Abrir el archivo php.ini, que por defecto se instala en la
siguiente ruta:

C:xamppphp
Configurar php.ini

132

Borrar los signos (;) de tal manera que la sección XDEBUG
quede como en la imagen.
Crear breakpoint

133

• Para poder depurar tenemos que crear uno o varios
BREAKPOINTS, que es el lugar donde la ejecución del
programa se detendrá para que pase a ejecución línea a
línea.
Click al costado
del numero de
línea
Ingresar al modo depuración
Click en la opción Debug File del menú Debug

134
Valor de variables y ejecución
línea a línea

Presionar F7
para ejecutar
línea a línea

Valor de las variables

135
ARRAYS

136
INTRODUCCION

137

• Un ARRAY es una colección de valores con un único
nombre.
• Para acceder a los distintos valores se utiliza un índice
numérico o alfanumérico.
• Los ARRAYS en PHP tienen ciertas ventajas respecto a
otros lenguajes.
138
CREACION DE ARRAYS
Hay tres métodos para crear arrays:

1. Asignación directa de valores
2. Usar la función array()

3. Mediante una función que devuelve un array

139
ASIGNACION DIRECTA

140

El camino mas simple es asignar valores cuando se
necesiten. La primera vez que asignemos un valor el
ARRAY se creara en el entorno.

De esta forma hemos asignado un valor al índice 1 del
ARRAY. Se puede asignar cualquier índice o ninguno.
FUNCION ARRAY()

141

• Esta función crea un array con los valores que pase como
datos de entrada.
• Los índice serán automáticamente añadidos empezando
en 0.
• Si no asigna parámetros a array(), la función devolverá
un array vacío.
FUNCION ARRAY()

142

• La función array permite añadir índices a los valores que
se introducen. Para esto se utiliza el operador (=>) de la
siguiente manera:

• También es posible añadir índices que no sean
correlativos, o alfanuméricos o mezclar ambos.
FUNCIONES QUE DEVUELVEN
ARRAYS

143

• Si usamos una función que devuelve un array y asignamos
el valor de la función a una variable, esta se convierte
en array.
• Ejemplo: la función range devuelve un array con valores
numéricos, desde un numero de inicio hasta un numero
final.
EJERCICIOS #1

144

• Declarar un array con 5 elementos, asignarle como valor
a cada elemento una vocal diferente.
• Declarar un array con 5 elementos no consecutivos
(posiciones 1, 3, 5, 7, 9) y asignarle a cada elemento una
vocal diferente.
• Declarar un array, pero para acceder a los elementos no
usar posiciones numericas sino las siguientes ( “one”,
“two”, “Three”, “four”, “five”) y asignarle a cada
elemento del array una vocal diferente.
145
ACCEDER A LOS VALORES DEL
ARRAY

146

• Para acceder a los valores del array simplemente hay
que usar el nombre de la variable y entre corchetes el
índice del elemento que queremos acceder.

Solo podemos acceder a
los elementos de las
posiciones 0 a 3, pues el
array tiene 4 elementos.
ACCEDER A LOS VALORES DEL
ARRAY

¿por qué no se
puede acceder
al elemento de
la posición 2

147
ACCEDER A LOS ELEMENTOS DEL
ARRAY

148

La posición aquí no
es numérica
EJERCICIOS #2

149

• Modifique los ejercicios anteriores y realice lo siguiente:
1. Imprima el valor de cada uno de los elementos del array en
una línea independiente.
2. Usando el operador de concatenación imprima todos los
valores del array en una misma línea separados de un espacio
en blanco.
3. Sin usar el operador de concatenación imprima todos los
valores del array en una misma línea separados de un espacio
en blanco.
150
ARRAYS MULTIDIMENSIONALES

151

• PHP soporta el uso de arrays multidimensionales, aunque
son mas complejos de entender y usar.
EJEMPLO

152
EJEMPLO

153
FUNCIONES PARA ARRAYS
Count(), sizeof()
Inarray()
In_array()
Unset()

154
Count() o sizeof()

155

• Las funciones count() o sizeof() devuelven el numero de
elementos que tiene el array especificado como
parámetro-
In_array()

156

• Busca un valor dentro de un array, si lo encuentra
devuelve true y si no lo encuentra devuelve false.
Recibe dos parámetros el valor a buscar y el array donde
buscará.
Un_set
• Esta función borra un elemento del array.

157
158
FOREACH

159

• Podemos recorrer los elementos de un array utilizando el
bucle foreach.

• Foreach recorre el array desde el principio y almacena
cada uno de sus valores en la variable $x
INTERACTUAR CON ARRAYS

160

• Con foreach no solo podemos acceder a los valores sino
también a los índices.
EJERCICIOS #3

161

• Modifique los ejercicios anteriores e imprima el valor de
todos los elementos de los arrays usando un bucle
foreach.
162
FUNCIONES PARA AVANZAR EN
UN ARRAY

163

• Cada vez que se crea un array se crea un puntero el cual
se inicializa en valor inicial del conjunto de datos.
• Se puede usar las siguiente funciones para poder avanzar
en un array.
• Current(): devuelve el valor actual al cual apunta el puntero.
Cuando esta en el final del array devuelve false.
• Next(): Hace avanzar el puntero una posición en el conjunto de
datos.
• Reset(): Devuelve el puntero a la posición inicial del array.
EJEMPLO

164

Como hago para imprimir
dos veces el array
EJEMPLO

165

¿Está OK?
FUNCIONES PARA RETROCEDER
EN UN ARRAY

166

• ¿Que pasa si queremos recorrer el array de manera
inversa?, pues podemos utilizar las siguientes funciones:
• Prev(): retrocede una posición el puntero.
• End(): posiciona el puntero en la ultima posición del array.
EJEMPLO

167
INDICE DEL ARRAY CON
FUNCIONES

168

• Se puede obtener el índice del array al cual está
apuntando el puntero, para esto debemos de utilizar la
función key().
EJERCICIO #4
• Usando un bucle for imprima los valores de los
elementos de los siguientes arrays :

169
INTERCAMBIO DE INDICES POR
VALORES

170

• Podemos intercambiar el valor de un elemento por su
índice y el valor del índice por el valor del elemento.
• Para esto usaremos la función array_flip()
INVERSION DEL CONTENIDO

171

• Podemos invertir el contenido del array con el uso de la
función array_reverse().
MEZCLA DE VALORES

172

• Podemos intercambiar aleatoriamente los valores de los
elementos del array, para esto usaremos la función
shuffle().
• La función shuffle modifica el array original que se le
pase como parámetro.
EJEMPLO

173
FUNCIONES DE ORDENACION

174
EJEMPLO

175
PRACTICA

176

• Tenemos que almacenar los 24 números de una cartilla
de bingo en un array.
• Los números serán ingresados de manera aleatoria.
• Los números posibles en el bingo son desde el 1 hasta el
75.
• Para no complicar el programa no se verificara los rango
de los números que se asignan a las letras BINGO solo se
verificará que no se repitan al almacenarse.
• Al final mostrar los 24 números (ordenados
ascendentemente) almacenados en el array y mostrar la
cantidad de veces que el programa creo un numero
aleatorio.
RESULTADOS

177
RESOLUCION

178
PILAS

179

• Las pilas son estructuras de datos de tipo LIFO (Last IN
First Out= Ultimo en entrar, primero en salir), son muy
utilizadas así como las colas.
• Se pueden implementar de varias maneras, aunque la
mas sencilla es con arrays, PHP nos permite implementar
esta estructura mediante 2 funciones.
• Array_push() inserta un
• elemento en la pila

• Array_pop() quita un elemento
• de la pila
EJEMPLO

180
FORMULARIOS
GET Y POST

181
PASO DE INFORMACION ENTRE
FOMULARIOS: GET

182

Argumentos GET

• Los argumentos GET pasan la información como parte de
la URL. Al utilizar este método se pueden ver en la URL
el nombre de la variable y el valor que estamos enviando
al servidor.
EJEMPLO 1
• Ejecutemos el siguiente código:

183
EJEMPLO 1

184
EJEMPLO 2

185
EJEMPLO 2

186
PASO DE INFORMACION ENTRE
FOMULARIOS: POST

187

• El método GET es inseguro pues no se puede ocultar los
datos privados en la dirección web.
• El método POST no muestra estos datos en la dirección
web.
EJEMPLO 3

188
EJEMPLO 3

189
EJERCICIO

190

• Crear un formulario el cual tenga un cuadro de texto en
el cual ingresaremos un número, y un botón el cual
enviará el numero al servidor y el servidor mostrará la
suma de los números naturales desde 1 hasta el numero
ingresado.

• Modificar el ejercicio anterior para que el resultado se
muestre en la misma página.
PROGRAMACION ORIENTADA A
OBJETOS

191
OBJETIVOS
Diferenciar entre objeto y clase

Crear herencia de clases
Utilizar los modificadores private, public y
protected
Crear métodos estaticos y finales
Crear métodos y propiedades

192
CLASES

193

• Una clase es un tipo de dato la cual contiene en su
interior variables y funciones.
• Una clase nos provee una plantilla con la cual podemos
crear muchos objetos con las misma estructura básica,
pero cada uno diferenciado del resto.
• Para definir una clase se utiliza la palabra reservada
class.
CLASES

194

• Definición de una clase vacía

• Definición de una clase

Nombre de la clase
Variable

Función
ACCESO A VARIABLES DESDE
DENTRO DE LA CLASE

195

• La palabra reservada var ya está en desuso, ahora se
utilizan los modificadores public, private y protected.
• Si una función de la clase quiere acceder a las variables
o a otras funciones, se tiene que anteponer al nombre de
estas la siguiente expresión:

$this->
• $this es una palabra clave que hace referencia al objeto
actual desde el cual lo invocamos.
EJEMPLO

196

Accediendo a una variable

Accediendo a una función
PARADIGMAS DE PROGRAMACIÓN

197

• La programación Orientada a Objetos es un paradigma de
programación, así como hay muchos, aunque este
paradigma ha tenido mucha aceptación y es usado
ampliamente en la actualidad.
INSTANCIA DE CLASE U OBJETO

198

• Al proceso de crear un Objeto desde una clase se llama
INSTANCIAR, y un objeto es una instancia de una clase.
• Para instanciar un objeto se utiliza la palabra reservada
new de la siguiente manera:

Nombre de la
variable

Nombre de la clase
ACCEDER A VARIABLES Y
FUNCIONES DEL OBJETO

199

• Para poder acceder a las variables y funciones del objeto
se tiene que especificar el nombre de la variable que
almacena el objeto seguido del símbolo -> y luego el
nombre de la variable o función sin usar el símbolo $.
CONSTRUCTOR DE LA CLASE

200

• El constructor de la clase es una función la cual se
ejecuta automáticamente cada vez que creamos un
objeto.
• Se utiliza el constructor para asignar valores iniciales al
objeto.
• El nombre de la función constructor es:
EJEMPLO

201
EJEMPLO
Versión con constructor

202
Versión sin constructor
PUBLIC, PROTECTED, PRIVATE

203

• Si no se especifica nada todos los métodos(funciones) y
propiedades (variables) son públicos, es decir son
accesibles desde el exterior.
• Como norma general las propiedades deberían de ser
privadas, es decir no accesibles desde el exterior; y para
acceder a estas deberíamos usar funciones las cuales
estarían definidas en la misma clase.
PUBLIC

204

• Si accedemos directamente a las propiedades(variables)
desde el exterior, esto rompe la filosofía de
programación orientado a objetos.
No cumple la filosofía OO
METODOS Y PROPIEDADES
PRIVADAS

205

• Un método o propiedad privado solo se puede acceder
desde dentro de la misma clase que lo contiene.
• Para hacer que un método o propiedad sean privadas
solo hay de anteponer la palabra reservada private antes
de su declaración.
EJEMPLO

206
EJEMPLO

207

Atención
METODOS Y PROPIEDADES
PROTEGIDOS

208

• Los métodos y propiedades protegidos pueden ser
accedidos desde dentro de la clase que los contiene y
desde las clases heredadas.
• Para especificar un elemento protegido se usa la palabra
reservada protected.
EJEMPLO

209
BUENAS PRACTICAS

210

• Como buena practica de programación se debería de
declarar a las variables como private o protected, y
crear funciones publicas para acceder o asignar su valor,
• Las funciones para acceder a las variables privadas
suelen llamarse setXXX y getXXX, donde XXX es el
nombre de la variable.
• Se usa set para asignar un valor y get para obtener el
valor de la variable.
EJEMPLO

211

Crear un programa que use esta clase,
1. Crear un objeto de esta clase
2. Mostrar el valor de las variables
$nombre y $apellido.
3. Cambiar el nombre y apellido
4. Mostrar el valor de las variable
$nombre y $apellido
HERENCIA

212

• La programación orientada a objetos permite que una
clase herede de otra.
• La clase hija (la clase que hereda de otra) adquiere las
siguiente propiedades:
• Adquiere todas las propiedades (variables) de la clase
padre.
• Adquiere todas las funciones de la clase padre.
• La clase hija puede definir sus propias variables y
funciones.
SINTAXIS

213

• Para heredar de una clase se usa la palabra reservada
extends.
EJEMPLO

214

1. Añadir en la clase hija la variable
privada $edad
2. añadir una función que permite
obtener su valor
3. otro para asignar un valor a dicha
variable.
4. Crear un constructor que asigne
valores iniciales a $nombre y $edad
SOLUCION

215
SOBREESCRITURA O
REDEFINICION DE METODOS

216

• Se sobreescribe o redefine un método cuando en una
clase hija se crea un método con el mismo nombre que
la clase padre.
EJEMPLO

217
EJEMPLO

218
PALABRA RESERVADA: final

219

• Para evitar que una función sea redefinida, se utiliza la
palabra reservada final.
• Si utilizamos la palabra reservada final en una clase,
esta no podrá heredarse.
OBJETOS COMO PARAMETROS DE
FUNCIONES

220

• Los objetos que se pasan como parámetros a una función
son pasados como referencias, es decir los cambios que
se hagan al objeto serán conservados cuando la función
termine de ejecutarse.
EJEMPLO

221
OJO
CLASES ABSTRACTAS

222

• Las clases abstractas permiten definir funciones que
sean o no abstractas.
• Si una clase abstracta define una función que es
abstracta, esta función obligatoriamente debe
redefinirse en la clase heredada.
• Las funciones abstractas no pueden contener código.
• No podemos crear instancias de una clase abstracta.
• Para definir una función o clase abstracta se usa la
palabra reservada abstract.
CLASES ABSTRACTAS
• Si intentamos crear un objeto de la siguiente clase
abstracta obtendremos un error.

223
CLASES ABSTRACTAS

224

• Si una función es abstracta no puede tener código en su
implementación, sino en la clase hija la cual redefinirá
la función.
EJEMPLO

225
METODOS O FUNCIONES
ESTATICOS

226

• Se puede declarar una función como estática y se puede
acceder a esta funciones directamente desde la clase,
sin necesidad de instanciarla.
• Para definir la función como estática se usa la palabra
static antes del nombre de la definición de la función.
• Para acceder a la función estática se utiliza el operador
::
• No se puede usar $this dentro de una función static.
EJEMPLO

227

Accede a esta función
que no es static
provocará un error
EJEMPLO

228
OPERADOR DE RESOLUCION DE
AMBITO ::

229

• Cuando desde una clase queremos acceder a una función
de la clase padre, tenemos que utilizar el operador de
resolución de ámbito (::), de la siguiente manera.

Nombre_clase_padre::funcion();
parent::funcion();
• parent es una palabra reservada, la cual hace alusión a
la clase de la cual heredamos.
EJEMPLO

230
¿Eso es todo?

231

• Se puede encontrar mayor información sobre el lenguaje
PHP en la siguiente dirección:

http://www.php.net/manual/es/langref.php

Mais conteúdo relacionado

Mais procurados (20)

Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computo
 
Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Introducción a los algoritmos y programación 1
Introducción a los algoritmos y programación   1Introducción a los algoritmos y programación   1
Introducción a los algoritmos y programación 1
 
Tasm
TasmTasm
Tasm
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la Web
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Introduccion a la algoritmia 2011-i
Introduccion a la algoritmia   2011-iIntroduccion a la algoritmia   2011-i
Introduccion a la algoritmia 2011-i
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Xampp
XamppXampp
Xampp
 
Funciones y procedimientos propios de LPP
Funciones y procedimientos propios de LPPFunciones y procedimientos propios de LPP
Funciones y procedimientos propios de LPP
 
MICROPROCESADORES
MICROPROCESADORESMICROPROCESADORES
MICROPROCESADORES
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 

Destaque

Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phplgcj1989
 
Lenguaje Html
Lenguaje HtmlLenguaje Html
Lenguaje HtmlJuan R
 
Practica web de la sesión 3 programacion de codigos de php
Practica web de la sesión 3 programacion de codigos de phpPractica web de la sesión 3 programacion de codigos de php
Practica web de la sesión 3 programacion de codigos de phpSiboney Ortiz Ortiz
 
Installation of OpenBiblio on Windows XP using EasyPHP
Installation of OpenBiblio on Windows XP using EasyPHPInstallation of OpenBiblio on Windows XP using EasyPHP
Installation of OpenBiblio on Windows XP using EasyPHPRupesh Kumar
 
Instalación básica de php mybibli (pmb)
Instalación básica de php mybibli (pmb)Instalación básica de php mybibli (pmb)
Instalación básica de php mybibli (pmb)Danilo_01
 
Optimización On-Site para Wordpress | Wordcamp Lima 2014
Optimización On-Site para Wordpress | Wordcamp Lima 2014Optimización On-Site para Wordpress | Wordcamp Lima 2014
Optimización On-Site para Wordpress | Wordcamp Lima 2014Capybara SEO
 
Tema 1, práctica 1ª
Tema 1, práctica 1ªTema 1, práctica 1ª
Tema 1, práctica 1ªmonrroe8
 
Tarea04 Cuento Inedito Millercuaran
Tarea04 Cuento Inedito MillercuaranTarea04 Cuento Inedito Millercuaran
Tarea04 Cuento Inedito Millercuaranguestd5974a6
 
Tarea07 3p 10programacion
Tarea07 3p 10programacionTarea07 3p 10programacion
Tarea07 3p 10programacionguestd5974a6
 
3p 10cjm Millercuaran Programacion Practica01
3p 10cjm Millercuaran Programacion Practica013p 10cjm Millercuaran Programacion Practica01
3p 10cjm Millercuaran Programacion Practica01guestd5974a6
 
Guia SEO para redacción de artículos.
Guia SEO para redacción de artículos.Guia SEO para redacción de artículos.
Guia SEO para redacción de artículos.Capybara SEO
 
Ejemplos de HTML
Ejemplos de HTMLEjemplos de HTML
Ejemplos de HTMLeduardodf47
 
Tarea06 3p 10programacion
Tarea06 3p 10programacionTarea06 3p 10programacion
Tarea06 3p 10programacionguestd5974a6
 
Webcongress Lima 2015 | Seo Onsite
Webcongress Lima 2015 | Seo OnsiteWebcongress Lima 2015 | Seo Onsite
Webcongress Lima 2015 | Seo OnsiteCapybara SEO
 
Practico html
Practico htmlPractico html
Practico htmllucascen
 
Primera clase de HTML
Primera clase de HTMLPrimera clase de HTML
Primera clase de HTMLJorge Llanten
 
Activiadad 3
Activiadad 3Activiadad 3
Activiadad 3PAGOS8585
 

Destaque (20)

Cuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-phpCuaderno de-ejercicios-y-practicas-php
Cuaderno de-ejercicios-y-practicas-php
 
Lenguaje Html
Lenguaje HtmlLenguaje Html
Lenguaje Html
 
Practica web de la sesión 3 programacion de codigos de php
Practica web de la sesión 3 programacion de codigos de phpPractica web de la sesión 3 programacion de codigos de php
Practica web de la sesión 3 programacion de codigos de php
 
Installation of OpenBiblio on Windows XP using EasyPHP
Installation of OpenBiblio on Windows XP using EasyPHPInstallation of OpenBiblio on Windows XP using EasyPHP
Installation of OpenBiblio on Windows XP using EasyPHP
 
Instalación básica de php mybibli (pmb)
Instalación básica de php mybibli (pmb)Instalación básica de php mybibli (pmb)
Instalación básica de php mybibli (pmb)
 
Optimización On-Site para Wordpress | Wordcamp Lima 2014
Optimización On-Site para Wordpress | Wordcamp Lima 2014Optimización On-Site para Wordpress | Wordcamp Lima 2014
Optimización On-Site para Wordpress | Wordcamp Lima 2014
 
Tema 1, práctica 1ª
Tema 1, práctica 1ªTema 1, práctica 1ª
Tema 1, práctica 1ª
 
Tarea04 Cuento Inedito Millercuaran
Tarea04 Cuento Inedito MillercuaranTarea04 Cuento Inedito Millercuaran
Tarea04 Cuento Inedito Millercuaran
 
Tarea07 3p 10programacion
Tarea07 3p 10programacionTarea07 3p 10programacion
Tarea07 3p 10programacion
 
3p 10cjm Millercuaran Programacion Practica01
3p 10cjm Millercuaran Programacion Practica013p 10cjm Millercuaran Programacion Practica01
3p 10cjm Millercuaran Programacion Practica01
 
Tags en html
Tags en htmlTags en html
Tags en html
 
Guia SEO para redacción de artículos.
Guia SEO para redacción de artículos.Guia SEO para redacción de artículos.
Guia SEO para redacción de artículos.
 
Ejemplos de HTML
Ejemplos de HTMLEjemplos de HTML
Ejemplos de HTML
 
Tarea06 3p 10programacion
Tarea06 3p 10programacionTarea06 3p 10programacion
Tarea06 3p 10programacion
 
Webcongress Lima 2015 | Seo Onsite
Webcongress Lima 2015 | Seo OnsiteWebcongress Lima 2015 | Seo Onsite
Webcongress Lima 2015 | Seo Onsite
 
Practico html
Practico htmlPractico html
Practico html
 
Sena Actividad 2 3
Sena Actividad 2 3Sena Actividad 2 3
Sena Actividad 2 3
 
Primera clase de HTML
Primera clase de HTMLPrimera clase de HTML
Primera clase de HTML
 
Activiadad 3
Activiadad 3Activiadad 3
Activiadad 3
 
practicas de html
practicas de htmlpracticas de html
practicas de html
 

Semelhante a PHP: Introducción al lenguaje de programación

Clase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxClase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxLuisAlberto353863
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instruccionesjcremiro
 
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptx
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptxConceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptx
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptxgalletasdecoco84
 
Breve manual visual basic
Breve manual visual basicBreve manual visual basic
Breve manual visual basicTensor
 
Breve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosBreve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosTensor
 
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++Mena75
 
Laboratorio # 1 introducción a arduino
Laboratorio # 1   introducción a arduinoLaboratorio # 1   introducción a arduino
Laboratorio # 1 introducción a arduinoCASERA
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Obmaro García
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_Maztherprozh
 
Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)Maztherprozh
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 

Semelhante a PHP: Introducción al lenguaje de programación (20)

Introducción Php
Introducción PhpIntroducción Php
Introducción Php
 
Clase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptxClase 2 Variables Entorno y Pseudocodigo.pptx
Clase 2 Variables Entorno y Pseudocodigo.pptx
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instrucciones
 
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptx
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptxConceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptx
Conceptos-HTML-y-JavaScript-Bloque-3-JavaScript.pptx
 
Clase 01 290615
Clase 01 290615Clase 01 290615
Clase 01 290615
 
Breve manual visual basic
Breve manual visual basicBreve manual visual basic
Breve manual visual basic
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 
Breve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosBreve manual visual basic Métodos Númericos
Breve manual visual basic Métodos Númericos
 
Unidad i poo
Unidad i pooUnidad i poo
Unidad i poo
 
Instrucciones basicas
Instrucciones basicasInstrucciones basicas
Instrucciones basicas
 
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++
PRESENTACIÓN DE LA ESTRUCTURA BÁSICA PARA C++
 
Precentacion
PrecentacionPrecentacion
Precentacion
 
Taller completo
Taller completoTaller completo
Taller completo
 
Laboratorio # 1 introducción a arduino
Laboratorio # 1   introducción a arduinoLaboratorio # 1   introducción a arduino
Laboratorio # 1 introducción a arduino
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_
 
Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (16)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

PHP: Introducción al lenguaje de programación

  • 1. El lenguaje PHP Ing. Jesús Luque Medina
  • 2. Vista general PHP PHP Hypertext Pre-processor
  • 3. Visón General 3 PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante.
  • 4. Características de PHP 4 • Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos. • Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. • Es LIBRE. • Amplia documentación en el sitio oficial (php.net) • Orientado a Objetos • No requiere definir los tipos de las variables • Tiene manejo de excepciones desde PHP5
  • 5. PHP y el servidor WEB 5
  • 7. LOGROS Almacenar información en variables Manejar constantes y constantes predefinidas de PHP Utilizar funciones de manejo de datos 7
  • 8. VARIABLES 8 • Como en todos los lenguajes de programación, PHP permite almacenar datos de distintos tipos en memoria. Estas zonas de memoria se llaman variables. • NO necesitan ser declaradas antes de comenzar el programa. Valor Nombre
  • 9. Nombres de variables 9 • El nombre de una variable empieza por el simbolo de dólar $. • El nombre de una variable debe comenzar por una letra o un símbolo de subrayado (_). • El nombre de una variable solo puede contener letras, números y el símbolo de subrayado (_). • PHP es CASESENSITIVE (sensible a mayúsculas y minúsculas) por lo que las variables $numero y $NUMERO son diferentes.
  • 11. Tipos de variables 11 • Simples • Entero: Almacena números sin decimales (se puede usar notación decimal, octal, hexadecimal) • Flotante: Números con decimales. • Carácter (STRING): Texto o información numérica escrita entre comillas dobles (“ ”) o simples („ „) • Boolean: Solo puede almacenar TRUE o FALSE • Nulo: Valor especial que solo contiene el valor NULL • Compuestos • Array: Colecciones de datos • Objeto: Conjunto de datos y funciones independientes
  • 13. Convenciones 13 • Para poner nombres a variables hay dos estándares: • CAMEL CASE: Se pone en mayúsculas la inicial de cada una de las palabras del nombre de la variables excepto la primera. $estoEsUnaVariable = 10; • Separación con Subrayado: Cada palabra se separa por un símbolo de subrayado. $esto_es_una_variable = 10;
  • 14. Variables: Enteros 14 • Números sin decimales, en notación decimal, octal o hexadecimal.
  • 16. Variables: String 16 • Es un conjunto de caracteres encerrados entres comillas dobles (“”) o simples („‟)
  • 17. Variables: String 17 La diferencia entre comillas dobles es la siguiente: • Comillas simples: Todo lo que este entre las comillas es un texto el que se imprimirá tal cual lo escribamos. • Comillas doble: Permite incluir variables para imprimirlas junto con el texto. $dato se reemplazará por PHP
  • 18. Secuencia de escape 18 • Existen algunos caracteres especiales, que no pueden añadirse a una variable de tipo STRING a menos que avisemos a PHP para que las maneje adecuadamente. Este aviso se llama SECUENCIA DE ESCAPE y se denota con el símbolo de contra-slash()
  • 19. Variables: Booleanas 19 • Solo almacenan True o False • Además de las variables booleanas, podemos utilizar otros tipos de datos como verdaderos o falsos para hacer nuestras comprobaciones: • Los números enteros o decimales, positivos o negativos son todos verdaderos. • El 0 es falso • Los Strings son verdaderos, excepto cuando no contienes ningún carácter, o cuando contienen el carácter “0” • Las variables NULL son siempre falsas
  • 20. CONSTANTES 20 • Las constantes son tipos de datos que no varían durante la ejecución de un programa. • Para definir una constante se usa la función DEFINE() DEFINE(“nombre constante”,”valor”); • Por lo general las variables se definen en mayúsculas. • Las constantes por defecto son sensibles a mayúsculas minúsculas, se puede alterar la definición de la constante de la siguiente manera: DEFINE(“nombre”,valor,true);
  • 22. DEFINED() 22 • Se puede averiguar si una constante ya se ha creado, con la función DEFINED()
  • 23. Constantes predefinidas 23 • PHP incorpora algunas constantes listas para ser usadas: NOMBRE DESCRIPCION PHP_VERSION Versión del PHP que estamos usando PHP_OS Sistema Operativo del servidor PHP_LIBDIR Ruta de almacenamiento de las librerías de PHP __LINE__ Línea desde donde se imprime esta constante __FILE__ Ruta completa del archivo __FUNCTION__ Nombre de la función que la contiene __METHOD__ Nombre del método __CLASS__ Nombre de la clase
  • 25. Funciones para variables 25 • PHP nos brinda las siguiente funciones para trabajar con variables: • • • • • • • Isset() Unset() Gettype() Settype() Empty() Is_integer(), is_double(), is_string() Intval(), doubleval(), strval()
  • 26. Isset() 26 • Con esta función podemos saber si una variable existe dentro de nuestro programa.
  • 27. Unset() 27 • Con esta función liberamos la memoria ocupada por la variable, destruyendo su nombre y contenido.
  • 28. Gettype() 28 • Con esta función podemos saber el tipo de dato almacenado en una variable. Puede devolver uno de los siguiente valores: • • • • • • • Integer Double String Array Object Class Unknown type
  • 29. Settype() 29 • Convierte el tipo de la variable al especificado en la función. • Si la variable no es capaz de convertir la variable devuelve false. • Al intentar convertir un string en un integer, la función busca un número sino lo encuentra convierte la variable y le asigna el valor cero (0) y evalúa como correcta. • Los tipos admitidos para la conversión son: • • • • • Integer String Double Object array
  • 30. Ejemplo 30 Probar con números al inicio y al medio de la variable
  • 31. Empty() 31 • Comprueba si una variable esta vacía, no existe o tiene el valor de 0
  • 32. Is_integer(), is_double(), is_string() 32 • Estas funciones devuelven true si la variable especificada coincide con el tipo que indica la función.
  • 33. Intval(), doubleval(), strval() 33 • Convierte el valor de una variable al tipo indicado en la función. • NO permite la conversión a tipos object y array.
  • 35. LOGROS Utilizar los diferentes operadores existentes Distinguir entre operadores unarios, binarios y ternario Comprender la preferencia de ejecución entre operadores 35
  • 36. Introducción Existen varios tipos de operadores: • Asignación • Unario • Aritméticos • Comparación • Lógicos • Ternario 36
  • 37. Operador de Asignación 37 • Es el operador mas sencillo y sirve para asignar un valor a una variable.
  • 39. Operador Unario • El signo menos (-) sirve para hacer a los números negativos o positivos dependiendo del signo actual. 39
  • 41. Operadores Lógicos 41 • Sirven para evaluar dos o mas condiciones, a excepción del operador de negación que solo niega el valor de la condición.
  • 42. Tablas de verdad operadores lógicos 42
  • 44. Operador Ternario 44 • El operador ternario evalúa un operando y dependiendo de si es falso o verdadero, evalúa el segundo operando o el tercero. • La expresión que se quiere evaluar se escribe delante de un símbolo (?), después la expresión que tiene que ejecutarse si la evaluación anterior es true, seguida del símbolo (:) con la expresión que debe ejecutarse si es false.
  • 45. Operador de incremento/decremento Pueden estar en prefijo o sufijo • ++ • -- 45
  • 48. 48
  • 50. LOGROS Utilizar estructuras de elección Crear bucles de diferentes tipos Crear programas Conocer las sentencias para interrumpir un bucle 50
  • 51. Introducción 51 • Es difícil imaginar un programa sin estructuras de control. Estas nos permiten elegir diferentes caminos en función de los datos que evaluamos en cada momento. • Hay dos tipos de estructuras de control: • Estructuras de elección • Estructuras de bucle
  • 52. IF 52 • La sintaxis de esta estructura es: IF (condicion) Instrucción; • Si se cumple la condición se ejecuta la instrucción que le sigue. Si se quiere que se ejecuten varias instrucciones se debe de utilizar el símbolo de llave. IF (condicion){ Instruccion1; Instruccion2; }
  • 53. IF - ELSE 53 • Se puede ampliar la estructura IF para que se pueda elegir entre condición verdadera y falsa. If (condicion){ instruccion1; instruccion2; } else { Instruccion1; Instruccion2; }
  • 55. IF – ELSEIF - ELSE • Sirve para comparar un valor contra varios valores: If (condicion){ … } elseif (condicion){ … } Else{ … } 55
  • 57. SWITCH 57 • Sirve para comprobar el valor de una expresión y permite elegir entre un grupo de instrucciones. Switch (expresion) { case valor1: instruccion1; instruccion2; break; case valor2: instruccion2; Break; default: instruccion1; Instruccion2; } La instrucción tiene que devolver un valor ENTERO, FLOTANTE o STRING Es necesario colocar el break Solo se ejecuta si ningún valor cumple la expresión
  • 58. Ejemplo Probar quitando las instrucciones BREAK e interpretar los resultados 58
  • 59. BUCLE - WHILE 59 • Es el más básico de todos, su estructura es la siguiente: While (condicion) { instruccion1; instruccion2; } La condición se evalúa antes de ejecutarse las instrucciones.
  • 61. Ejemplo 61 • En este ejemplo el bucle WHILE se ejecutará 10 veces, tener cuidado de incrementar la variable que estamos usando como contador, sino el bucle sería infinito.
  • 62. BUCLE – DO WHILE 62 • Es igual que el bucle WHILE, solo que la condición se evalúa al final, por lo que el código entre llaves se ejecuta al menos una vez. Do { Instruccion1; Instruccion2; } while (condicion);
  • 64. BUCLE - FOR 64 • El bucle FOR tiene la siguiente sintaxis: For(expresionInicial; condicion; expresionFinal){ instruccion1; instruccion2; } La expresionInicial se ejecuta una sola vez al inicio. La condición se evalúa cada vez que se ejecuta el bucle, si es verdadera se ejecuta el bucle si es false termina el bucle. La expresión final se ejecuta cada vez al terminar de ejecutar las instrucciones.
  • 65. FOR Infinito 65 • Se puede hacer un bucle FOR infinito de la siguiente manera:
  • 67. BREAK 67 • Normalmente un bucle termina cuando la condición a evaluada es falsa, con break podemos terminar la ejecución del bucle ante una segunda condición. Convertir el bucle FOR en un WHILE
  • 68. CONTINUE 68 • Salta la ejecución del bucle hasta el final y comienza una nueva iteración.
  • 69. EJERCICIOS 69 • Hacer un programa que imprima los primeros 1000 un eros impares. • Hacer un programa que imprima los números impares del 1 al 1000 • Hacer un programa que imprima los números divisibles entre 5 y 2 desde el 1 hasta el 100 • Hacer un programa que imprima los números divisibles entre 5 y si el numero es divisible entre 2 que no se imprima. • Hacer un programa que le pasen un valor y te diga el mes al que corresponde, y muestre un error si no corresponde a ningún mes.
  • 71. LOGROS Crear funciones propias Utilizar parámetros fijos y variables Crear funciones recursivas Separar el código en varios archivos 71
  • 72. FUNCIONES 72 • Las funciones son grupos de instrucciones independientes que tienen un propósito determinado. • La sintaxis básica de una función es la siguiente: Nombre_funcion(parametro1,parametro2,…parametroN) • Las funciones pueden ser llamadas con varios parámetros o con ninguno, dependiendo de su definición.
  • 73. FUNCIONES sin argumentos y sin valor de retorno 73 • Es la forma mas básica de una función. Su sintaxis es de la siguiente manera: function nombre_de_funcion(){ //El código va aquí } • function es una palabra clave que indica que estamos definiendo una función.
  • 74. EJEMPLO 74 • Definimos una función que muestra un texto sencillo. Cuerpo de la función Delimitador de la función • La función saludo solo imprime mediante echo un texto.
  • 75. EJERCICIOS 75 1. Crear una función que imprima 10 veces y en 10 líneas el siguiente texto: Aprendiendo a usar funciones en PHP 2. Modificar la función anterior para que imprima 100 veces el mismo texto, pero a cada 10 líneas imprima una línea en blanco de separación.
  • 76. FUNCIONES con parámetro 76 • Un parámetro es un valor que se le proporciona a la función para que lo utilice en su procesamiento. • Se utiliza la siguiente sintaxis: function nombre_de_funcion(parametro){ //El código va aquí }
  • 77. EJEMPLO • Definir una función que imprima un saludo personalizado. 77
  • 78. EJERCICIOS 78 1. Crear una función que imprima las lista de los números pares, el numero máximo a imprimir estará definido por un parámetro. 2. Crear una función que imprima los números divisibles entre 3 de manera inversa desde un numero definido por un parámetro hasta el número 1. 3. Crear una función que imprima la tabla de multiplicar desde el 1 hasta el 12, para el número que se le pase como parámetro.
  • 79. FUNCIONES con varios parámetros 79 • Una función puede tener varios parámetros, para esto hay que separarlos por comas (,) en su definición y al momento de su llamado. function nombre_de_funcion(parametro1, parametro2,…,parametroN){ //El código va aquí }
  • 80. EJEMPLO 80 • Crear una función que imprima la suma de 2 números
  • 81. EJEMPLO 81 • Crear una función que imprima un texto pasado como parámetro, tantas veces como lo indique un segundo parámetro.
  • 82. VALOR DE UNA FUNCION 82 • Cada función en PHP se considera como una expresión. • Se puede almacenar el valor de una función en una variable o formar parte de una expresión mas compleja. • No todas las funciones devuelven un valor numérico, pueden devolver string, array o true/false. • Para que una función retorne un valor se utiliza la palabra clave return.
  • 85. AMBITO DE LAS VARIABLES 85 • Las variables definidas en un fichero PHP quedan definidas en todo el archivo excepto dentro de la función. • Las variables definidas dentro de una función solo pueden ser accedidas dentro de la función, y además las funciones solo pueden acceder a las variables dentro de ella misma.
  • 86. EJEMPLO $pi definida fuera de la función Se pregunta si NO existe la variable $pi 86
  • 87. ACCEDER A VARIABES FUERA DE LA FUNCION - GLOBAL 87 • Para que una función pueda acceder a una variable que esta definida fuera de la función debemos de utilizar la palabra clave global.
  • 88. VARIABLES ESTATICAS 88 • Por defecto PHP cada vez que ejecuta una función asigna valores iniciales a las variables locales. • La declaración STATIC hace que una variable retenga su valor en cada llamada a la función.
  • 90. INCLUDE() Y REQUIRE() 90 • A medida que el proyecto se hace mas complejo , se comenzara a crear funciones útiles para conectar a bases de datos, crear imágenes, conectarse a FTP, estas funciones se pueden utilizar en otros proyectos para ahorrar tiempo. • Ambas funciones incluyen el contenido del archivo que indican. • INCLUDE permite que la ejecución del programa continúe, si el archivo no existe. • REQUIRE detiene la ejecución del programa si el archivo a incluir no existe.
  • 92. RECURSIVIDAD 92 • Las funciones recursivas son aquellas que se llaman así mismas. • EL único requisito es que haya una forma de salir de la función recursiva.
  • 94. ARGUMENTOS POR DEFECTO 94 • Lo normal cuando llamamos a una función que tiene parámetros en su definición, es que ocasione un error si no los incluimos en el llamado. • Cuando asignamos un valor por defecto a un parámetro, si al momento de llamar a la función este parámetro es obviado, se le asignará el valor que se le asignó en la definición. • La limitación es que los parámetros tienen un orden y no pueden saltarse.
  • 96. Argumentos mediante ARRAYS 96 • El usar arrays como argumentos de funciones es una forma flexible y muy utilizada en PHP para pasar varios argumentos a una función.
  • 97. Argumentos variables 97 • ¿Qué pasa cuando no sabemos cuantos argumentos va a recibir la función? • Func_num_args(): devuelve el numero de argumentos con que se ha llamado a la función • Func_get_arg(posicion): devuelve el argumento x que ha sido pasado en la posicion posicion. • Func_get_args(): devuelve un array con todos los argumentos pasados a la función, con los índices del array empezando en 0. • Estas funciones solo pueden ser llamadas dentro de una función.
  • 99. PARAMETROS POR VALOR 99 • Por defecto, las llamadas a funciones se hacen por valor. Esto quiere decir que las variables que se utilizan como parámetros se copian a la función y cualquier cambio que se le haga a la variable se hace sobre la copia y no sobre el original.
  • 100. PARAMETROS POR REFERENCIA 100 • Las variables pasadas por referencia pueden ser modificadas por la función que las recibe. • Para pasar una variable por referencia hay que utilizar el operador (&) delante de la variable.
  • 101. REFERENCIAS A VARIABLES 101 • Las referencias pueden usarse también fuera de las funciones, para crear referencias a las variables (esto se llama punteros en otros lenguaje).
  • 102. CADENAS DE CARACTERES Y EXPRESIONES REGULARES 102
  • 103. LOGROS Diferenciar comillas simples de dobles Trabajar con cadenas de múltiples líneas Concatenar varias cadenas Generar nuevas cadenas a partir de una original Eliminar espacios en blanco de una cadena Convertir a mayúsculas / minúsculas 103
  • 104. STRINGS 104 • Una cadena de caracteres o string son secuencias de caracteres que pueden ser tratadas como una unidad, asignadas a variables, pasadas como parámetros a funciones o enviadas como salida al navegador. • Un string se diferencia de otro tipo de dato porque va encerrado entre comillas dobles (“) o simples („). “Cadena entre comillas dobles” „cadena entre comillas simples‟
  • 105. STRINGS 105 • PHP interpreta de distinta manera los string que van entre comillas dobles y las que van entre comillas simples. • Los strings entre comillas doble pueden sustituir ciertos símbolos por acciones, como la inclusión del valor de una variable. • Las comillas simples, simplemente muestran todo el contenido, sin cambiar ningún carácter especial.
  • 107. INDICES DE STRING 107 • Podemos acceder a cada carácter de una cadena en base a su posición. • Para acceder al carácter se utiliza los símbolos de llave({}) y un índice numérico que corresponderá con la posición del carácter que buscamos.
  • 109. OPERADOR DE CONCATENACION 109 • El operador de concatenación es el punto (.), y se utiliza para unir varias cadenas, sean caracteres o variables.
  • 110. SINTAXIS DE MULTIPLES LINEAS 110 • Cuando queremos introducir textos que son muy largos se puede utilizar el operador (<<<). • La forma de utilizar es la siguiente: $variable = <<<XXX //aquí se pone todo //su texto //todo todo todo XXX; XXX puede ser cualquier nombre
  • 112. FUNCIONES DE CADENAS Strlen() Strpos() Strrpos() Strcmp() Strcasecmp() Strstr() Substr() Chop(), rtrim(), ltrim(), trim Str_replace() Strtolower(), strtoupper(), ucfirst(), ucwords() 112
  • 113. Strlen() 113 • La función strlen() devuelve como resultado la cantidad de caracteres que contiene la cadena que pasemos como parámetro.
  • 114. Strpos() 114 • La función strpos() encuentra en un string la posición de un carácter determinado.
  • 115. Strrpos() 115 • Para buscar caracteres desde el final de la cadena tenemos que utilizar strrpos() (la letra r que se añade viene del ingles reverse)
  • 116. Strcmp() 116 • Esta función compara bit a bit dos cadenas de caracteres. • Esa función puede devolver los siguientes resultados: 1. Devuelve 0 si las dos cadenas son exactamente iguales. 2. Devuelve un valor negativo, si el primer string es mas pequeño que el segundo. 3. Devuelve un valor • Esta función es case-sensitive, es decir las cadenas Hola y hoLa son diferentes.
  • 118. Strcasecmp() • Es igual que strcmp() solo que no distingue entre mayúsculas y minúsculas. 118
  • 119. Strstr() 119 • La función strstr() recibe 2 cadenas como parámetro, la primera es donde buscaremos la segunda cadena. • Si se encuentra la segunda cadena, esta función devuelve una cadena que comenzará justo en la segunda cadena encontrada hasta el final de la cadena. • Si no se encuentra, devuelve false.
  • 121. Substr() 121 • Permite seleccionar un conjunto de caracteres de una cadena, quedando intacta la cadena original. • Substr(cadena, indice): cadena es el string del cual queremos cortar los caracteres desde la posición indicada por indice. • Substr(cadena, indice, cantidad): cantidad determina el numero de caracteres a cortar desde la posición indicada por indice.
  • 124. FUNCIONES DE LIMPIEZA 124 • Estas funciones se encargan de eliminar espacios en blanco al inicio, al final o a ambos lados pero no al medio del string. • • • • Ltrim(): elimina espacios en blanco al inicio del string. Rtrim(): elimina espacios en blanco al final del string. Trim(): elimina espacios en blanco a ambos lados. Chop(): es un sinónimo de rtrim().
  • 126. Str_replace() • La función str_replace() toma tres argumentos: 1. Los caracteres a buscar 2. Los caracteres que reemplazaran a los primeros 3. La cadena en la cual vamos a buscar 126
  • 127. FUNCIONES PARA MAYUSCULAS Y MINUSCULAS 127 • Strtolower(): convierte toda la cadena en minúsculas. • Strtoupper(): convierte toda la cadena en mayúsculas. • Ucfirst(): convierte en mayúscula la primera letra de la cadena. • Ucwords(): convierte en mayúscula la inicial de cada palabra.
  • 129. EJERCICIOS 129 • Crear un programa que analice una cadena y que imprima cuantas vocales hay. • Crear un programa que imprima cuantas vocales a, e, i, o , u hay en una cadena. • Transformar los dos programas en funciones. • Crear una función que reciba una cadena y que imprima la misma cadena pero que convierta los espacios en blanco en puntos. • Crear una segunda versión de la función anterior y que le indiquemos el carácter con el cual reemplazaremos el espacio con un segundo parámetro.
  • 131. Configurar php.ini 131 • Hacer DEBUG o depurar un código es la mejor manera de encontrar errores de lógica. • Por defecto la instalación de XAMPP no configura PHP para que permita la depuración. • Abrir el archivo php.ini, que por defecto se instala en la siguiente ruta: C:xamppphp
  • 132. Configurar php.ini 132 Borrar los signos (;) de tal manera que la sección XDEBUG quede como en la imagen.
  • 133. Crear breakpoint 133 • Para poder depurar tenemos que crear uno o varios BREAKPOINTS, que es el lugar donde la ejecución del programa se detendrá para que pase a ejecución línea a línea. Click al costado del numero de línea
  • 134. Ingresar al modo depuración Click en la opción Debug File del menú Debug 134
  • 135. Valor de variables y ejecución línea a línea Presionar F7 para ejecutar línea a línea Valor de las variables 135
  • 137. INTRODUCCION 137 • Un ARRAY es una colección de valores con un único nombre. • Para acceder a los distintos valores se utiliza un índice numérico o alfanumérico. • Los ARRAYS en PHP tienen ciertas ventajas respecto a otros lenguajes.
  • 138. 138
  • 139. CREACION DE ARRAYS Hay tres métodos para crear arrays: 1. Asignación directa de valores 2. Usar la función array() 3. Mediante una función que devuelve un array 139
  • 140. ASIGNACION DIRECTA 140 El camino mas simple es asignar valores cuando se necesiten. La primera vez que asignemos un valor el ARRAY se creara en el entorno. De esta forma hemos asignado un valor al índice 1 del ARRAY. Se puede asignar cualquier índice o ninguno.
  • 141. FUNCION ARRAY() 141 • Esta función crea un array con los valores que pase como datos de entrada. • Los índice serán automáticamente añadidos empezando en 0. • Si no asigna parámetros a array(), la función devolverá un array vacío.
  • 142. FUNCION ARRAY() 142 • La función array permite añadir índices a los valores que se introducen. Para esto se utiliza el operador (=>) de la siguiente manera: • También es posible añadir índices que no sean correlativos, o alfanuméricos o mezclar ambos.
  • 143. FUNCIONES QUE DEVUELVEN ARRAYS 143 • Si usamos una función que devuelve un array y asignamos el valor de la función a una variable, esta se convierte en array. • Ejemplo: la función range devuelve un array con valores numéricos, desde un numero de inicio hasta un numero final.
  • 144. EJERCICIOS #1 144 • Declarar un array con 5 elementos, asignarle como valor a cada elemento una vocal diferente. • Declarar un array con 5 elementos no consecutivos (posiciones 1, 3, 5, 7, 9) y asignarle a cada elemento una vocal diferente. • Declarar un array, pero para acceder a los elementos no usar posiciones numericas sino las siguientes ( “one”, “two”, “Three”, “four”, “five”) y asignarle a cada elemento del array una vocal diferente.
  • 145. 145
  • 146. ACCEDER A LOS VALORES DEL ARRAY 146 • Para acceder a los valores del array simplemente hay que usar el nombre de la variable y entre corchetes el índice del elemento que queremos acceder. Solo podemos acceder a los elementos de las posiciones 0 a 3, pues el array tiene 4 elementos.
  • 147. ACCEDER A LOS VALORES DEL ARRAY ¿por qué no se puede acceder al elemento de la posición 2 147
  • 148. ACCEDER A LOS ELEMENTOS DEL ARRAY 148 La posición aquí no es numérica
  • 149. EJERCICIOS #2 149 • Modifique los ejercicios anteriores y realice lo siguiente: 1. Imprima el valor de cada uno de los elementos del array en una línea independiente. 2. Usando el operador de concatenación imprima todos los valores del array en una misma línea separados de un espacio en blanco. 3. Sin usar el operador de concatenación imprima todos los valores del array en una misma línea separados de un espacio en blanco.
  • 150. 150
  • 151. ARRAYS MULTIDIMENSIONALES 151 • PHP soporta el uso de arrays multidimensionales, aunque son mas complejos de entender y usar.
  • 154. FUNCIONES PARA ARRAYS Count(), sizeof() Inarray() In_array() Unset() 154
  • 155. Count() o sizeof() 155 • Las funciones count() o sizeof() devuelven el numero de elementos que tiene el array especificado como parámetro-
  • 156. In_array() 156 • Busca un valor dentro de un array, si lo encuentra devuelve true y si no lo encuentra devuelve false. Recibe dos parámetros el valor a buscar y el array donde buscará.
  • 157. Un_set • Esta función borra un elemento del array. 157
  • 158. 158
  • 159. FOREACH 159 • Podemos recorrer los elementos de un array utilizando el bucle foreach. • Foreach recorre el array desde el principio y almacena cada uno de sus valores en la variable $x
  • 160. INTERACTUAR CON ARRAYS 160 • Con foreach no solo podemos acceder a los valores sino también a los índices.
  • 161. EJERCICIOS #3 161 • Modifique los ejercicios anteriores e imprima el valor de todos los elementos de los arrays usando un bucle foreach.
  • 162. 162
  • 163. FUNCIONES PARA AVANZAR EN UN ARRAY 163 • Cada vez que se crea un array se crea un puntero el cual se inicializa en valor inicial del conjunto de datos. • Se puede usar las siguiente funciones para poder avanzar en un array. • Current(): devuelve el valor actual al cual apunta el puntero. Cuando esta en el final del array devuelve false. • Next(): Hace avanzar el puntero una posición en el conjunto de datos. • Reset(): Devuelve el puntero a la posición inicial del array.
  • 164. EJEMPLO 164 Como hago para imprimir dos veces el array
  • 166. FUNCIONES PARA RETROCEDER EN UN ARRAY 166 • ¿Que pasa si queremos recorrer el array de manera inversa?, pues podemos utilizar las siguientes funciones: • Prev(): retrocede una posición el puntero. • End(): posiciona el puntero en la ultima posición del array.
  • 168. INDICE DEL ARRAY CON FUNCIONES 168 • Se puede obtener el índice del array al cual está apuntando el puntero, para esto debemos de utilizar la función key().
  • 169. EJERCICIO #4 • Usando un bucle for imprima los valores de los elementos de los siguientes arrays : 169
  • 170. INTERCAMBIO DE INDICES POR VALORES 170 • Podemos intercambiar el valor de un elemento por su índice y el valor del índice por el valor del elemento. • Para esto usaremos la función array_flip()
  • 171. INVERSION DEL CONTENIDO 171 • Podemos invertir el contenido del array con el uso de la función array_reverse().
  • 172. MEZCLA DE VALORES 172 • Podemos intercambiar aleatoriamente los valores de los elementos del array, para esto usaremos la función shuffle(). • La función shuffle modifica el array original que se le pase como parámetro.
  • 176. PRACTICA 176 • Tenemos que almacenar los 24 números de una cartilla de bingo en un array. • Los números serán ingresados de manera aleatoria. • Los números posibles en el bingo son desde el 1 hasta el 75. • Para no complicar el programa no se verificara los rango de los números que se asignan a las letras BINGO solo se verificará que no se repitan al almacenarse. • Al final mostrar los 24 números (ordenados ascendentemente) almacenados en el array y mostrar la cantidad de veces que el programa creo un numero aleatorio.
  • 179. PILAS 179 • Las pilas son estructuras de datos de tipo LIFO (Last IN First Out= Ultimo en entrar, primero en salir), son muy utilizadas así como las colas. • Se pueden implementar de varias maneras, aunque la mas sencilla es con arrays, PHP nos permite implementar esta estructura mediante 2 funciones. • Array_push() inserta un • elemento en la pila • Array_pop() quita un elemento • de la pila
  • 182. PASO DE INFORMACION ENTRE FOMULARIOS: GET 182 Argumentos GET • Los argumentos GET pasan la información como parte de la URL. Al utilizar este método se pueden ver en la URL el nombre de la variable y el valor que estamos enviando al servidor.
  • 183. EJEMPLO 1 • Ejecutemos el siguiente código: 183
  • 187. PASO DE INFORMACION ENTRE FOMULARIOS: POST 187 • El método GET es inseguro pues no se puede ocultar los datos privados en la dirección web. • El método POST no muestra estos datos en la dirección web.
  • 190. EJERCICIO 190 • Crear un formulario el cual tenga un cuadro de texto en el cual ingresaremos un número, y un botón el cual enviará el numero al servidor y el servidor mostrará la suma de los números naturales desde 1 hasta el numero ingresado. • Modificar el ejercicio anterior para que el resultado se muestre en la misma página.
  • 192. OBJETIVOS Diferenciar entre objeto y clase Crear herencia de clases Utilizar los modificadores private, public y protected Crear métodos estaticos y finales Crear métodos y propiedades 192
  • 193. CLASES 193 • Una clase es un tipo de dato la cual contiene en su interior variables y funciones. • Una clase nos provee una plantilla con la cual podemos crear muchos objetos con las misma estructura básica, pero cada uno diferenciado del resto. • Para definir una clase se utiliza la palabra reservada class.
  • 194. CLASES 194 • Definición de una clase vacía • Definición de una clase Nombre de la clase Variable Función
  • 195. ACCESO A VARIABLES DESDE DENTRO DE LA CLASE 195 • La palabra reservada var ya está en desuso, ahora se utilizan los modificadores public, private y protected. • Si una función de la clase quiere acceder a las variables o a otras funciones, se tiene que anteponer al nombre de estas la siguiente expresión: $this-> • $this es una palabra clave que hace referencia al objeto actual desde el cual lo invocamos.
  • 196. EJEMPLO 196 Accediendo a una variable Accediendo a una función
  • 197. PARADIGMAS DE PROGRAMACIÓN 197 • La programación Orientada a Objetos es un paradigma de programación, así como hay muchos, aunque este paradigma ha tenido mucha aceptación y es usado ampliamente en la actualidad.
  • 198. INSTANCIA DE CLASE U OBJETO 198 • Al proceso de crear un Objeto desde una clase se llama INSTANCIAR, y un objeto es una instancia de una clase. • Para instanciar un objeto se utiliza la palabra reservada new de la siguiente manera: Nombre de la variable Nombre de la clase
  • 199. ACCEDER A VARIABLES Y FUNCIONES DEL OBJETO 199 • Para poder acceder a las variables y funciones del objeto se tiene que especificar el nombre de la variable que almacena el objeto seguido del símbolo -> y luego el nombre de la variable o función sin usar el símbolo $.
  • 200. CONSTRUCTOR DE LA CLASE 200 • El constructor de la clase es una función la cual se ejecuta automáticamente cada vez que creamos un objeto. • Se utiliza el constructor para asignar valores iniciales al objeto. • El nombre de la función constructor es:
  • 203. PUBLIC, PROTECTED, PRIVATE 203 • Si no se especifica nada todos los métodos(funciones) y propiedades (variables) son públicos, es decir son accesibles desde el exterior. • Como norma general las propiedades deberían de ser privadas, es decir no accesibles desde el exterior; y para acceder a estas deberíamos usar funciones las cuales estarían definidas en la misma clase.
  • 204. PUBLIC 204 • Si accedemos directamente a las propiedades(variables) desde el exterior, esto rompe la filosofía de programación orientado a objetos. No cumple la filosofía OO
  • 205. METODOS Y PROPIEDADES PRIVADAS 205 • Un método o propiedad privado solo se puede acceder desde dentro de la misma clase que lo contiene. • Para hacer que un método o propiedad sean privadas solo hay de anteponer la palabra reservada private antes de su declaración.
  • 208. METODOS Y PROPIEDADES PROTEGIDOS 208 • Los métodos y propiedades protegidos pueden ser accedidos desde dentro de la clase que los contiene y desde las clases heredadas. • Para especificar un elemento protegido se usa la palabra reservada protected.
  • 210. BUENAS PRACTICAS 210 • Como buena practica de programación se debería de declarar a las variables como private o protected, y crear funciones publicas para acceder o asignar su valor, • Las funciones para acceder a las variables privadas suelen llamarse setXXX y getXXX, donde XXX es el nombre de la variable. • Se usa set para asignar un valor y get para obtener el valor de la variable.
  • 211. EJEMPLO 211 Crear un programa que use esta clase, 1. Crear un objeto de esta clase 2. Mostrar el valor de las variables $nombre y $apellido. 3. Cambiar el nombre y apellido 4. Mostrar el valor de las variable $nombre y $apellido
  • 212. HERENCIA 212 • La programación orientada a objetos permite que una clase herede de otra. • La clase hija (la clase que hereda de otra) adquiere las siguiente propiedades: • Adquiere todas las propiedades (variables) de la clase padre. • Adquiere todas las funciones de la clase padre. • La clase hija puede definir sus propias variables y funciones.
  • 213. SINTAXIS 213 • Para heredar de una clase se usa la palabra reservada extends.
  • 214. EJEMPLO 214 1. Añadir en la clase hija la variable privada $edad 2. añadir una función que permite obtener su valor 3. otro para asignar un valor a dicha variable. 4. Crear un constructor que asigne valores iniciales a $nombre y $edad
  • 216. SOBREESCRITURA O REDEFINICION DE METODOS 216 • Se sobreescribe o redefine un método cuando en una clase hija se crea un método con el mismo nombre que la clase padre.
  • 219. PALABRA RESERVADA: final 219 • Para evitar que una función sea redefinida, se utiliza la palabra reservada final. • Si utilizamos la palabra reservada final en una clase, esta no podrá heredarse.
  • 220. OBJETOS COMO PARAMETROS DE FUNCIONES 220 • Los objetos que se pasan como parámetros a una función son pasados como referencias, es decir los cambios que se hagan al objeto serán conservados cuando la función termine de ejecutarse.
  • 222. CLASES ABSTRACTAS 222 • Las clases abstractas permiten definir funciones que sean o no abstractas. • Si una clase abstracta define una función que es abstracta, esta función obligatoriamente debe redefinirse en la clase heredada. • Las funciones abstractas no pueden contener código. • No podemos crear instancias de una clase abstracta. • Para definir una función o clase abstracta se usa la palabra reservada abstract.
  • 223. CLASES ABSTRACTAS • Si intentamos crear un objeto de la siguiente clase abstracta obtendremos un error. 223
  • 224. CLASES ABSTRACTAS 224 • Si una función es abstracta no puede tener código en su implementación, sino en la clase hija la cual redefinirá la función.
  • 226. METODOS O FUNCIONES ESTATICOS 226 • Se puede declarar una función como estática y se puede acceder a esta funciones directamente desde la clase, sin necesidad de instanciarla. • Para definir la función como estática se usa la palabra static antes del nombre de la definición de la función. • Para acceder a la función estática se utiliza el operador :: • No se puede usar $this dentro de una función static.
  • 227. EJEMPLO 227 Accede a esta función que no es static provocará un error
  • 229. OPERADOR DE RESOLUCION DE AMBITO :: 229 • Cuando desde una clase queremos acceder a una función de la clase padre, tenemos que utilizar el operador de resolución de ámbito (::), de la siguiente manera. Nombre_clase_padre::funcion(); parent::funcion(); • parent es una palabra reservada, la cual hace alusión a la clase de la cual heredamos.
  • 231. ¿Eso es todo? 231 • Se puede encontrar mayor información sobre el lenguaje PHP en la siguiente dirección: http://www.php.net/manual/es/langref.php