3 curso php
DESCRIPTION
Php BasicoTRANSCRIPT
![Page 1: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/1.jpg)
El lenguaje PHP
Ing. Jesús Luque Medina
![Page 2: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/2.jpg)
Vista general PHP
PHP Hypertext Pre-processor
![Page 3: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/3.jpg)
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.
![Page 4: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/4.jpg)
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
![Page 5: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/5.jpg)
PHP y el servidor WEB 5
![Page 6: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/6.jpg)
TIPOS DE DATOS
VARIABLES Y CONSTANTES
![Page 7: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/7.jpg)
LOGROS
Almacenar información en variables
Manejar constantes y constantes predefinidas de PHP
Utilizar funciones de manejo de datos
7
![Page 8: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/8.jpg)
VARIABLES
• 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.
8
Valor
Nombre
![Page 9: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/9.jpg)
Nombres de variables
• 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.
9
![Page 10: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/10.jpg)
Ejemplo 10
![Page 11: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/11.jpg)
Tipos de variables
• 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
11
![Page 12: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/12.jpg)
Ejemplo 12
![Page 13: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/13.jpg)
Convenciones
• 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;
13
![Page 14: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/14.jpg)
Variables: Enteros
• Números sin decimales, en notación decimal, octal o hexadecimal.
14
![Page 15: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/15.jpg)
Variables: flotantes
• Números con decimales.
15
![Page 16: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/16.jpg)
Variables: String
• Es un conjunto de caracteres encerrados entres comillas dobles (“”) o simples („‟)
16
![Page 17: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/17.jpg)
Variables: String
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.
17
$dato se reemplazará
por PHP
![Page 18: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/18.jpg)
Secuencia de escape
• 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(\)
18
![Page 19: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/19.jpg)
Variables: Booleanas
• 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
19
![Page 20: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/20.jpg)
CONSTANTES
• 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);
20
![Page 21: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/21.jpg)
Ejemplo 21
![Page 22: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/22.jpg)
DEFINED()
• Se puede averiguar si una constante ya se ha creado, con la función DEFINED()
22
![Page 23: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/23.jpg)
Constantes predefinidas
• PHP incorpora algunas constantes listas para ser usadas:
23
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
![Page 24: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/24.jpg)
Ejemplo 24
![Page 25: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/25.jpg)
Funciones para variables
• PHP nos brinda las siguiente funciones para trabajar con variables:
• Isset()
• Unset()
• Gettype()
• Settype()
• Empty()
• Is_integer(), is_double(), is_string()
• Intval(), doubleval(), strval()
25
![Page 26: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/26.jpg)
Isset()
• Con esta función podemos saber si una variable existe dentro de nuestro programa.
26
![Page 27: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/27.jpg)
Unset()
• Con esta función liberamos la memoria ocupada por la variable, destruyendo su nombre y contenido.
27
![Page 28: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/28.jpg)
Gettype()
• 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
28
![Page 29: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/29.jpg)
Settype()
• 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
29
![Page 30: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/30.jpg)
Ejemplo 30
Probar con números al inicio y al
medio de la variable
![Page 31: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/31.jpg)
Empty()
• Comprueba si una variable esta vacía, no existe o tiene el valor de 0
31
![Page 32: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/32.jpg)
Is_integer(), is_double(), is_string()
• Estas funciones devuelven true si la variable especificada coincide con el tipo que indica la función.
32
![Page 33: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/33.jpg)
Intval(), doubleval(), strval()
• Convierte el valor de una variable al tipo indicado en la función.
• NO permite la conversión a tipos object y array.
33
![Page 34: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/34.jpg)
OPERADORES
![Page 35: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/35.jpg)
LOGROS
Utilizar los diferentes operadores existentes
Distinguir entre operadores unarios, binarios y ternario
Comprender la preferencia de ejecución entre operadores
35
![Page 36: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/36.jpg)
Introducción
Existen varios tipos de operadores:
• Asignación
• Unario
• Aritméticos
• Comparación
• Lógicos
• Ternario
36
![Page 37: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/37.jpg)
Operador de Asignación
• Es el operador mas sencillo y sirve para asignar un valor a una variable.
37
![Page 38: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/38.jpg)
Operadores asignación combinados 38
![Page 39: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/39.jpg)
Operador Unario
• El signo menos (-) sirve para hacer a los números negativos o positivos dependiendo del signo actual.
39
![Page 40: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/40.jpg)
Operadores de Comparación 40
![Page 41: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/41.jpg)
Operadores Lógicos
• Sirven para evaluar dos o mas condiciones, a excepción del operador de negación que solo niega el valor de la condición.
41
![Page 42: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/42.jpg)
Tablas de verdad operadores lógicos 42
![Page 43: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/43.jpg)
Operadores Aritméticos 43
![Page 44: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/44.jpg)
Operador Ternario
• 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.
44
![Page 45: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/45.jpg)
Operador de incremento/decremento
Pueden estar en prefijo o sufijo
• ++
• --
45
![Page 46: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/46.jpg)
Operador supresión de errores 46
![Page 47: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/47.jpg)
Precedencia de Operadores 47
![Page 48: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/48.jpg)
48
![Page 49: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/49.jpg)
ESTRUCTURAS DE CONTROL
![Page 50: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/50.jpg)
LOGROS
Utilizar estructuras de elección
Crear bucles de diferentes tipos
Crear programas
Conocer las sentencias para interrumpir un bucle
50
![Page 51: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/51.jpg)
Introducción
• 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
51
![Page 52: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/52.jpg)
IF
• 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;
}
52
![Page 53: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/53.jpg)
IF - ELSE
• Se puede ampliar la estructura IF para que se pueda elegir entre condición verdadera y falsa.
If (condicion){
instruccion1;
instruccion2;
} else {
Instruccion1;
Instruccion2;
}
53
![Page 54: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/54.jpg)
Ejemplo 54
![Page 55: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/55.jpg)
IF – ELSEIF - ELSE
• Sirve para comparar un valor contra varios valores:
If (condicion){
…
} elseif (condicion){
…
}
Else{
…
}
55
![Page 56: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/56.jpg)
Ejemplo 56
![Page 57: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/57.jpg)
SWITCH
• 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;
}
57
Solo se ejecuta si ningún
valor cumple la expresión
Es necesario colocar el
break
La instrucción tiene que devolver un
valor ENTERO, FLOTANTE o STRING
![Page 58: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/58.jpg)
Ejemplo 58
Probar quitando las
instrucciones BREAK e
interpretar los resultados
![Page 59: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/59.jpg)
BUCLE - WHILE
• 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.
59
![Page 60: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/60.jpg)
Ejemplo 60
![Page 61: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/61.jpg)
Ejemplo
• 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.
61
![Page 62: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/62.jpg)
BUCLE – DO WHILE
• 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);
62
![Page 63: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/63.jpg)
Ejemplo 63
![Page 64: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/64.jpg)
BUCLE - FOR
• 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.
64
![Page 65: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/65.jpg)
FOR Infinito
• Se puede hacer un bucle FOR infinito de la siguiente manera:
65
![Page 66: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/66.jpg)
Ejemplo 66
![Page 67: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/67.jpg)
BREAK
• 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.
67
Convertir el bucle FOR en un WHILE
![Page 68: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/68.jpg)
CONTINUE
• Salta la ejecución del bucle hasta el final y comienza una nueva iteración.
68
![Page 69: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/69.jpg)
EJERCICIOS
• 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.
69
![Page 70: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/70.jpg)
FUNCIONES
![Page 71: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/71.jpg)
LOGROS
Crear funciones propias
Utilizar parámetros fijos y variables
Crear funciones recursivas
Separar el código en varios archivos
71
![Page 72: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/72.jpg)
FUNCIONES
• 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.
72
![Page 73: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/73.jpg)
FUNCIONES sin argumentos y sin valor de retorno
• Es la forma mas básica de una función. Su sintaxis es de la siguiente manera:
• function es una palabra clave que indica que estamos definiendo una función.
73
function nombre_de_funcion(){
//El código va aquí
}
![Page 74: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/74.jpg)
EJEMPLO
• Definimos una función que muestra un texto sencillo.
• La función saludo solo imprime mediante echo un texto.
74
Cuerpo de la función
Delimitador
de la función
![Page 75: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/75.jpg)
EJERCICIOS
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.
75
![Page 76: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/76.jpg)
FUNCIONES con parámetro
• 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:
76
function nombre_de_funcion(parametro){
//El código va aquí
}
![Page 77: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/77.jpg)
EJEMPLO
• Definir una función que imprima un saludo personalizado.
77
![Page 78: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/78.jpg)
EJERCICIOS
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.
78
![Page 79: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/79.jpg)
FUNCIONES con varios parámetros
• 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.
79
function nombre_de_funcion(parametro1, parametro2,…,parametroN){
//El código va aquí
}
![Page 80: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/80.jpg)
EJEMPLO
• Crear una función que imprima la suma de 2 números
80
![Page 81: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/81.jpg)
EJEMPLO
• Crear una función que imprima un texto pasado como parámetro, tantas veces como lo indique un segundo parámetro.
81
![Page 82: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/82.jpg)
VALOR DE UNA FUNCION
• 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.
82
![Page 83: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/83.jpg)
EJEMPLO 83
![Page 84: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/84.jpg)
EJEMPLO 84
![Page 85: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/85.jpg)
AMBITO DE LAS VARIABLES
• 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.
85
![Page 86: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/86.jpg)
EJEMPLO 86
$pi definida fuera de la función
Se pregunta si NO existe la variable $pi
![Page 87: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/87.jpg)
ACCEDER A VARIABES FUERA DE LA FUNCION - GLOBAL
• 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.
87
![Page 88: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/88.jpg)
VARIABLES ESTATICAS
• 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.
88
![Page 89: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/89.jpg)
EJEMPLO 89
![Page 90: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/90.jpg)
INCLUDE() Y REQUIRE()
• 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.
90
![Page 91: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/91.jpg)
EJEMPLO 91
![Page 92: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/92.jpg)
RECURSIVIDAD
• 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.
92
![Page 93: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/93.jpg)
EJEMPLO 93
![Page 94: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/94.jpg)
ARGUMENTOS POR DEFECTO
• 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.
94
![Page 95: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/95.jpg)
EJEMPLO 95
![Page 96: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/96.jpg)
Argumentos mediante ARRAYS
• El usar arrays como argumentos de funciones es una forma flexible y muy utilizada en PHP para pasar varios argumentos a una función.
96
![Page 97: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/97.jpg)
Argumentos variables
• ¿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.
97
![Page 98: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/98.jpg)
EJEMPLO 98
![Page 99: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/99.jpg)
PARAMETROS POR VALOR
• 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.
99
![Page 100: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/100.jpg)
PARAMETROS POR REFERENCIA
• 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.
100
![Page 101: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/101.jpg)
REFERENCIAS A VARIABLES
• Las referencias pueden usarse también fuera de las funciones, para crear referencias a las variables (esto se llama punteros en otros lenguaje).
101
![Page 102: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/102.jpg)
CADENAS DE CARACTERES Y EXPRESIONES REGULARES
102
![Page 103: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/103.jpg)
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
![Page 104: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/104.jpg)
STRINGS
• 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‟
104
![Page 105: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/105.jpg)
STRINGS
• 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.
105
![Page 106: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/106.jpg)
EJEMPLO 106
![Page 107: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/107.jpg)
INDICES DE STRING
• 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.
107
![Page 108: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/108.jpg)
EJEMPLO 108
![Page 109: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/109.jpg)
OPERADOR DE CONCATENACION
• El operador de concatenación es el punto (.), y se utiliza para unir varias cadenas, sean caracteres o variables.
109
![Page 110: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/110.jpg)
SINTAXIS DE MULTIPLES LINEAS
• Cuando queremos introducir textos que son muy largos se puede utilizar el operador (<<<).
• La forma de utilizar es la siguiente:
XXX puede ser cualquier nombre
110
$variable = <<<XXX
//aquí se pone todo
//su texto
//todo todo todo
XXX;
![Page 111: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/111.jpg)
EJEMPLO 111
![Page 112: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/112.jpg)
FUNCIONES DE CADENAS
Strlen()
Strpos()
Strrpos()
Strcmp()
Strcasecmp()
Strstr()
Substr()
Chop(), rtrim(), ltrim(), trim
Str_replace()
Strtolower(), strtoupper(), ucfirst(), ucwords()
112
![Page 113: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/113.jpg)
Strlen()
• La función strlen() devuelve como resultado la cantidad de caracteres que contiene la cadena que pasemos como parámetro.
113
![Page 114: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/114.jpg)
Strpos()
• La función strpos() encuentra en un string la posición de un carácter determinado.
114
![Page 115: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/115.jpg)
Strrpos()
• Para buscar caracteres desde el final de la cadena tenemos que utilizar strrpos() (la letra r que se añade viene del ingles reverse)
115
![Page 116: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/116.jpg)
Strcmp()
• 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.
116
![Page 117: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/117.jpg)
EJEMPLO 117
![Page 118: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/118.jpg)
Strcasecmp()
• Es igual que strcmp() solo que no distingue entre mayúsculas y minúsculas.
118
![Page 119: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/119.jpg)
Strstr()
• 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.
119
![Page 120: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/120.jpg)
EJEMPLO 120
![Page 121: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/121.jpg)
Substr()
• 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.
121
![Page 122: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/122.jpg)
Substr() 122
![Page 123: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/123.jpg)
EJEMPLO 123
![Page 124: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/124.jpg)
FUNCIONES DE LIMPIEZA
• 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().
124
![Page 125: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/125.jpg)
EJEMPLO 125
![Page 126: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/126.jpg)
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
![Page 127: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/127.jpg)
FUNCIONES PARA MAYUSCULAS Y MINUSCULAS
• 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.
127
![Page 128: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/128.jpg)
EJEMPLO 128
![Page 129: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/129.jpg)
EJERCICIOS
• 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.
129
![Page 130: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/130.jpg)
DEBUG CON NETBEANS 130
![Page 131: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/131.jpg)
Configurar php.ini
• 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:\xampp\php
131
![Page 132: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/132.jpg)
Configurar php.ini 132
Borrar los signos (;) de tal manera que la sección XDEBUG
quede como en la imagen.
![Page 133: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/133.jpg)
Crear breakpoint
• 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.
133
Click al costado
del numero de
línea
![Page 134: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/134.jpg)
Ingresar al modo depuración 134
Click en la opción Debug File del menú Debug
![Page 135: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/135.jpg)
Valor de variables y ejecución línea a línea 135
Valor de las variables
Presionar F7
para ejecutar
línea a línea
![Page 136: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/136.jpg)
ARRAYS 136
![Page 137: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/137.jpg)
INTRODUCCION
• 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.
137
![Page 138: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/138.jpg)
138
![Page 139: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/139.jpg)
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
![Page 140: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/140.jpg)
ASIGNACION DIRECTA
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.
140
![Page 141: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/141.jpg)
FUNCION ARRAY()
• 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.
141
![Page 142: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/142.jpg)
FUNCION ARRAY()
• 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.
142
![Page 143: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/143.jpg)
FUNCIONES QUE DEVUELVEN ARRAYS
• 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.
143
![Page 144: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/144.jpg)
EJERCICIOS #1
• 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.
144
![Page 145: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/145.jpg)
145
![Page 146: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/146.jpg)
ACCEDER A LOS VALORES DEL ARRAY
• 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.
146
Solo podemos acceder a
los elementos de las
posiciones 0 a 3, pues el
array tiene 4 elementos.
![Page 147: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/147.jpg)
ACCEDER A LOS VALORES DEL ARRAY 147
¿por qué no se
puede acceder
al elemento de
la posición 2
![Page 148: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/148.jpg)
ACCEDER A LOS ELEMENTOS DEL ARRAY 148
La posición aquí no
es numérica
![Page 149: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/149.jpg)
EJERCICIOS #2
• 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.
149
![Page 150: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/150.jpg)
150
![Page 151: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/151.jpg)
ARRAYS MULTIDIMENSIONALES
• PHP soporta el uso de arrays multidimensionales, aunque son mas complejos de entender y usar.
151
![Page 152: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/152.jpg)
EJEMPLO 152
![Page 153: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/153.jpg)
EJEMPLO 153
![Page 154: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/154.jpg)
FUNCIONES PARA ARRAYS
Count(), sizeof()
Inarray()
In_array()
Unset()
154
![Page 155: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/155.jpg)
Count() o sizeof()
• Las funciones count() o sizeof() devuelven el numero de elementos que tiene el array especificado como parámetro-
155
![Page 156: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/156.jpg)
In_array()
• 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á.
156
![Page 157: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/157.jpg)
Un_set
• Esta función borra un elemento del array.
157
![Page 158: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/158.jpg)
158
![Page 159: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/159.jpg)
FOREACH
• 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
159
![Page 160: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/160.jpg)
INTERACTUAR CON ARRAYS
• Con foreach no solo podemos acceder a los valores sino también a los índices.
160
![Page 161: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/161.jpg)
EJERCICIOS #3
• Modifique los ejercicios anteriores e imprima el valor de todos los elementos de los arrays usando un bucle foreach.
161
![Page 162: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/162.jpg)
162
![Page 163: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/163.jpg)
FUNCIONES PARA AVANZAR EN UN ARRAY
• 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.
163
![Page 164: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/164.jpg)
EJEMPLO 164
Como hago para imprimir
dos veces el array
![Page 165: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/165.jpg)
EJEMPLO 165
¿Está OK?
![Page 166: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/166.jpg)
FUNCIONES PARA RETROCEDER EN UN ARRAY
• ¿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.
166
![Page 167: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/167.jpg)
EJEMPLO 167
![Page 168: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/168.jpg)
INDICE DEL ARRAY CON FUNCIONES
• Se puede obtener el índice del array al cual está apuntando el puntero, para esto debemos de utilizar la función key().
168
![Page 169: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/169.jpg)
EJERCICIO #4
• Usando un bucle for imprima los valores de los elementos de los siguientes arrays :
169
![Page 170: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/170.jpg)
INTERCAMBIO DE INDICES POR VALORES
• 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()
170
![Page 171: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/171.jpg)
INVERSION DEL CONTENIDO
• Podemos invertir el contenido del array con el uso de la función array_reverse().
171
![Page 172: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/172.jpg)
MEZCLA DE VALORES
• 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.
172
![Page 173: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/173.jpg)
EJEMPLO 173
![Page 174: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/174.jpg)
FUNCIONES DE ORDENACION 174
![Page 175: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/175.jpg)
EJEMPLO 175
![Page 176: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/176.jpg)
PRACTICA
• 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.
176
![Page 177: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/177.jpg)
RESULTADOS 177
![Page 178: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/178.jpg)
RESOLUCION 178
![Page 179: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/179.jpg)
PILAS
• 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
179
![Page 180: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/180.jpg)
EJEMPLO 180
![Page 181: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/181.jpg)
FORMULARIOS
GET Y POST
181
![Page 182: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/182.jpg)
PASO DE INFORMACION ENTRE FOMULARIOS: 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.
182
Arg
um
ento
s G
ET
![Page 183: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/183.jpg)
EJEMPLO 1
• Ejecutemos el siguiente código:
183
![Page 184: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/184.jpg)
EJEMPLO 1 184
![Page 185: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/185.jpg)
EJEMPLO 2 185
![Page 186: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/186.jpg)
EJEMPLO 2 186
![Page 187: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/187.jpg)
PASO DE INFORMACION ENTRE FOMULARIOS: POST
• 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.
187
![Page 188: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/188.jpg)
EJEMPLO 3 188
![Page 189: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/189.jpg)
EJEMPLO 3 189
![Page 190: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/190.jpg)
EJERCICIO
• 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.
190
![Page 191: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/191.jpg)
PROGRAMACION ORIENTADA A OBJETOS
191
![Page 192: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/192.jpg)
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
![Page 193: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/193.jpg)
CLASES
• 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.
193
![Page 194: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/194.jpg)
CLASES
• Definición de una clase vacía
• Definición de una clase
194
Nombre de la clase
Variable
Función
![Page 195: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/195.jpg)
ACCESO A VARIABLES DESDE DENTRO DE LA CLASE
• 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.
195
![Page 196: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/196.jpg)
EJEMPLO 196
Accediendo a una variable
Accediendo a una función
![Page 197: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/197.jpg)
PARADIGMAS DE PROGRAMACIÓN
• 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.
197
![Page 198: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/198.jpg)
INSTANCIA DE CLASE U OBJETO
• 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:
198
Nombre de la
variable Nombre de la clase
![Page 199: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/199.jpg)
ACCEDER A VARIABLES Y FUNCIONES DEL OBJETO
• 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 $.
199
![Page 200: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/200.jpg)
CONSTRUCTOR DE LA CLASE
• 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:
200
![Page 201: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/201.jpg)
EJEMPLO 201
![Page 202: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/202.jpg)
EJEMPLO 202
Versión con constructor Versión sin constructor
![Page 203: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/203.jpg)
PUBLIC, PROTECTED, PRIVATE
• 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.
203
![Page 204: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/204.jpg)
PUBLIC
• Si accedemos directamente a las propiedades(variables) desde el exterior, esto rompe la filosofía de programación orientado a objetos.
204
No cumple la filosofía OO
![Page 205: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/205.jpg)
METODOS Y PROPIEDADES PRIVADAS
• 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.
205
![Page 206: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/206.jpg)
EJEMPLO 206
![Page 207: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/207.jpg)
EJEMPLO 207
Atención
![Page 208: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/208.jpg)
METODOS Y PROPIEDADES PROTEGIDOS
• 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.
208
![Page 209: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/209.jpg)
EJEMPLO 209
![Page 210: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/210.jpg)
BUENAS PRACTICAS
• 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.
210
![Page 211: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/211.jpg)
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
EJEMPLO 211
![Page 212: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/212.jpg)
HERENCIA
• 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.
212
![Page 213: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/213.jpg)
SINTAXIS
• Para heredar de una clase se usa la palabra reservada extends.
213
![Page 214: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/214.jpg)
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
![Page 215: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/215.jpg)
SOLUCION 215
![Page 216: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/216.jpg)
SOBREESCRITURA O REDEFINICION DE METODOS
• 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.
216
![Page 217: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/217.jpg)
EJEMPLO 217
![Page 218: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/218.jpg)
EJEMPLO 218
![Page 219: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/219.jpg)
PALABRA RESERVADA: final
• 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.
219
![Page 220: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/220.jpg)
OBJETOS COMO PARAMETROS DE FUNCIONES
• 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.
220
![Page 221: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/221.jpg)
EJEMPLO 221
OJO
![Page 222: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/222.jpg)
CLASES ABSTRACTAS
• 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.
222
![Page 223: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/223.jpg)
CLASES ABSTRACTAS
• Si intentamos crear un objeto de la siguiente clase abstracta obtendremos un error.
223
![Page 224: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/224.jpg)
CLASES ABSTRACTAS
• 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.
224
![Page 225: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/225.jpg)
EJEMPLO 225
![Page 226: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/226.jpg)
METODOS O FUNCIONES ESTATICOS
• 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.
226
![Page 227: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/227.jpg)
EJEMPLO 227
Accede a esta función
que no es static
provocará un error
![Page 228: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/228.jpg)
EJEMPLO 228
![Page 229: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/229.jpg)
OPERADOR DE RESOLUCION DE AMBITO ::
• 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.
229
![Page 230: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/230.jpg)
EJEMPLO 230
![Page 231: 3 curso php](https://reader033.vdocuments.site/reader033/viewer/2022042701/559bc6a91a28abb7208b4698/html5/thumbnails/231.jpg)
¿Eso es todo?
• Se puede encontrar mayor información sobre el lenguaje PHP en la siguiente dirección:
http://www.php.net/manual/es/langref.php
231