16 - Ámbito de las variables PHP - Curso PHP 8 desde cero (Actualizado)
Summary
TLDREn este capítulo, se explora el ámbito de las variables en PHP, distinguiendo entre variables globales y locales. Se explica que las variables locales declaradas dentro de una función no pueden ser accesadas desde fuera de ella, a menos que se utilice la palabra reservada 'global'. Además, se demuestra cómo las variables con el mismo nombre dentro y fuera de una función son manejadas por PHP como entidades separadas, sin entrar en conflicto. Se aborda también el concepto de pasar parámetros por valor versus por referencia, lo que permite o no la modificación de variables globales dentro de una función. El vídeo es una guía útil para comprender los fundamentos de la programación en PHP.
Takeaways
- 🌐 En PHP, existen dos tipos de variables principales: globales y locales.
- 🔑 Las variables globales pueden ser accesadas en cualquier parte del archivo, mientras que las locales solo dentro de la función donde son declaradas.
- ⛔ Al intentar acceder a una variable local desde fuera de su función, se producirá un error ya que PHP busca la variable de manera local.
- 🔄 Si se declara una variable con el mismo nombre tanto global como local, PHP las considera variables distintas.
- 📢 Para acceder a una variable global desde una función, se debe utilizar la palabra reservada `global`.
- 🔄 Al utilizar `global`, no solo se puede acceder al valor de la variable global, sino que también se puede modificar su valor.
- 🔢 Para cambiar dinámicamente el valor de una variable, se puede utilizar una función que reciba el valor actual y realice la operación deseada.
- ↩️ Al pasar variables por valor a una función, se envía una copia del valor, y los cambios realizados en la función no afectan al valor original de la variable.
- 🔄 Para que los cambios en una función afecten al valor original de una variable, es necesario pasar la variable por referencia, utilizando el símbolo `&` antes del parámetro en la función.
Q & A
¿Cuáles son los dos tipos de variables en PHP según el guion?
-Según el guion, en PHP existen dos tipos de variables: variables globales y variables locales.
¿Qué sucede cuando se declara una variable fuera de una función en PHP?
-Cuando se declara una variable fuera de una función, se puede acceder a su valor a lo largo de todo el archivo.
¿Por qué se produce un error al intentar imprimir el valor de una variable fuera de la función donde fue declarada?
-Se produce un error porque las funciones se consideran bloques de código independientes y no pueden acceder a las variables que se encuentran fuera de su alcance.
¿Cómo se puede acceder a una variable global dentro de una función en PHP?
-Para acceder a una variable global dentro de una función en PHP, se utiliza la palabra reservada 'global' seguido del nombre de la variable.
¿Qué ocurre si se declara una variable con el mismo nombre dentro y fuera de una función en PHP?
-PHP maneja estas variables como si fueran distintas, incluso si comparten el mismo nombre, y no entran en conflicto entre sí.
¿Cómo se puede cambiar el valor de una variable global desde dentro de una función en PHP?
-Para cambiar el valor de una variable global desde una función, se utiliza la palabra reservada 'global' para hacer referencia a la variable global y luego se le asigna un nuevo valor.
¿Qué significa 'pasar parámetros por valor' en el contexto de las funciones en PHP?
-Pasar parámetros por valor significa que se envía una copia del valor de la variable al parámetro de la función, dejando la variable original sin cambios.
¿Cómo se pueden hacer cambios en una variable original desde una función en PHP?
-Para hacer cambios en una variable original desde una función, se deben pasar los parámetros por referencia, utilizando el símbolo '&' antes del parámetro en la definición de la función.
¿Qué es lo que se debe hacer para que una función aumente el valor de una variable en un número específico?
-Para que una función aumente el valor de una variable en un número específico, se le debe pasar la variable por referencia y dentro de la función se le suma el valor deseado a la variable.
¿Cómo se puede utilizar una función para aumentar el valor de múltiples variables por diferentes cantidades en PHP?
-Para utilizar una función para aumentar el valor de múltiples variables por diferentes cantidades, se pasan las variables por referencia y se les suma el valor correspondiente dentro de la función.
Outlines
🌐 Variables Globales y Locales en PHP
Este segmento explica la diferencia entre variables globales y locales en PHP. Se menciona que las variables globales son accesibles a lo largo de todo el archivo, mientras que las locales están limitadas al bloque de código donde se declaran, como dentro de una función. Se ilustra con un ejemplo donde se declara una variable 'a' con valor 5 y se intenta acceder a ella dentro de una función 'test', resultando en un error ya que la variable no está definida localmente en la función. Se demuestra que si se declara una variable local 'a' con un valor diferente dentro de la función, esta no interfiere con la variable global de nombre 'a'. Además, se explica cómo utilizar la palabra reservada 'global' para acceder y modificar la variable global desde dentro de una función.
🔢 Pasar Variables por Valor y por Referencia en PHP
En este párrafo se explora cómo pasar variables a funciones en PHP, ya sea por valor o por referencia. Se describe que al pasar variables por valor, la función recibe una copia del valor de la variable, y cualquier cambio realizado en la función no afecta la variable original. Esto se ejemplifica con una función que recibe dos variables 'a' y 'b', y que intenta incrementar sus valores, pero al no pasarlas por referencia, los cambios no se reflejan en las variables originales. Para lograr que los cambios en la función afecten a las variables originales, se debe pasar las variables por referencia, utilizando el símbolo '&'. Se muestra un ejemplo donde se pasan las variables 'a' y 'b' por referencia a una función que aumenta sus valores, y se confirma que los cambios se aplican a las variables originales después de la ejecución de la función.
Mindmap
Keywords
💡Variables
💡Variables Globales
💡Variables Locales
💡Ámbito de las Variables
💡Funciones
💡Parámetros por Valor
💡Parámetros por Referencia
💡Palabra Reservada Global
💡Conflicto de Variables
💡Modificación Dinámica de Variables
Highlights
Se discute sobre el ámbito de las variables en PHP, diferenciando entre variables globales y locales.
Las variables globales se pueden acceder en todo el archivo, mientras que las locales están limitadas al bloque de código en el que se declaran.
Se ilustra cómo una variable local dentro de una función no puede acceder a una variable global con el mismo nombre.
Se muestra un ejemplo de error al intentar imprimir una variable global dentro de una función sin haberla declarado localmente.
Se explica que dentro de una función, se puede declarar una variable local con el mismo nombre que una variable global sin conflicto.
Se demuestra que la variable local dentro de una función tiene prioridad sobre la variable global con el mismo nombre.
Se describe cómo utilizar la palabra reservada 'global' para acceder a una variable global desde dentro de una función.
Se muestra cómo es posible cambiar el valor de una variable global desde dentro de una función utilizando 'global'.
Se discute la diferencia entre pasar parámetros por valor y por referencia en las funciones.
Se explica que pasar parámetros por valor limita los cambios a la función, mientras que por referencia permite modificar la variable original.
Se da un ejemplo de cómo aumentar el valor de una variable pasada por referencia en una función.
Se muestra cómo una función puede recibir un número y aumentarlo en 10 unidades utilizando parámetros por referencia.
Se discute la importancia de comprender el alcance de las variables para el desarrollo en PHP.
Se hace una llamada a la acción para unirse a la comunidad para acceder a más contenido de forma anticipada.
Se cierra el capítulo invitando a los espectadores a seguir en el próximo capítulo.
Transcripts
hola qué tal amigos en este capítulo
vamos a hablar sobre el ámbito de las
variables para lo cual lo que tú tienes
que saber es que en php existen dos
tipos de variables tenemos las variables
globales y tenemos las variables locales
cuando nosotros declaramos una variable
por ejemplo voy a declarar la variable a
y le asignó el valor de 5 voy a poder
acceder al valor de esta variable a lo
largo de todo nuestro fichero - dentro
de una función las funciones se
consideran como bloques de código
independientes dentro de las cuales
vamos a poder declarar nuestras propias
variables y al ser bloques de código
independientes no vamos a poder acceder
a las variables que se encuentren por
fuera de este bloque así por ejemplo si
yo declarar acá una función que le voy a
dar el nombre de test y acá trata de
imprimir el valor de la variable a me va
a dar un error es más acá mismo ya me lo
está marcando el editor me dice que acá
tengo un error pero si insistimos
desde afuera ejecutamos la función test
vamos a ver que nos sale en el navegador
actualizamos y me dice que no he
definido la variable a y que el error lo
tengo en la línea 7 lo que sucede es que
cuando php trata de ejecutar este código
va a buscar esta variable pero de manera
local y como no hemos declarado de
manera local dentro de esta función una
variable llamada me da ese error pero si
por ejemplo acá declarar una variable
llamada a y le asignó el valor de 3 y
ahora viniera acá y actualizará se
imprime el valor de 3 ahora quiero que
tomen atención en lo siguiente nosotros
por fuera hemos declarado una variable a
y por dentro también hemos declarado una
variable llamada no obstante estas dos
variables no entran en conflicto ya que
para php
es como si fueran variables distintas
por más que lleven el mismo nombre para
comprobar esto vamos a hacer lo
siguiente por más que nosotros acá hemos
ejecutado el valor de 3 por lo tanto a
la variable hasta le ha declarado
se le ha asignado el valor de 3 si yo
por ejemplo acá abajo tratará de
imprimir la variable global a lo que va
a ocurrir es que se va a imprimir de
todas maneras el valor de 5 es decir se
va a imprimir primero 3 que se trata de
la variable local y luego se imprime el
5 que se trata de la variable global
vamos a comprobar actualizamos y
efectivamente acá tenemos el valor de 3
y acá tenemos el valor de 5 y eso
significa que desde una función nunca
vamos a poder acceder al valor de una
variable global no si vamos a poder
acceder al valor de una variable global
pero tendríamos que hacer un paso
adicional por ejemplo si quisiera
acceder al valor que tenemos acá lo que
tendría que hacer es aquí escribir la
palabra reservada global y decir luego
que queremos utilizar la variable global
y de esa manera vamos a tener acceso a
esta variable así por ejemplo si venimos
y actualizamos vemos que se imprime
correctamente 5 es decir ha tomado el
valor de la variable global 5 y no sólo
eso sino que vamos a poder cambiar
incluso el valor de esta variable global
así por ejemplo si yo hago lo siguiente
defino que el valor de ac a 10 sólo
quiero que la función a eso cambie el
valor de a por 10 y afuera imprimiera
tengo que ejecutarlo eso sí para que se
ejecute en estas líneas y afuera
imprimiera el valor de la variable
global y voy a ver que ahora ya no es 5
sino es 10
y efectivamente ahora es 10 ahora y qué
ocurre si nosotros quisiéramos cambiar
el valor de una variable pero de manera
dinámica es decir por ejemplo acá voy a
declarar otra variable
que se va a llamar be y le vamos a
asignar el valor de 10 y lo que quiero
que haga esta función es que aumente en
5 unidades el valor pero yo quiero
utilizar esta misma función para
aumentar en 10 unidades tanto la
variable a como la variable v no sé si
me dejó entender entonces nosotros
podríamos hacer lo siguiente
podría decir que voy a recibir un número
y el valor de ese número quiero
aumentarlo en 10 unidades entonces acá
podría pasarle como parámetro el valor
de la variable a
y por acá le quiero pasar el valor de la
variable b de esta manera y luego abajo
vamos a imprimir a ver qué ocurre si
imprimo el valor de la variable a vamos
a concatenar lo con un salto de línea y
luego abajo vamos a imprimir el valor de
la variable que creen que ocurra que va
a imprimir acá 15 y 20 o van a imprimir
5 y 10 vamos a comprobarlo voy a venir
acá y lo que va a imprimir es el valor
de 5 y 10 lo que está sucediendo acá es
que nosotros hemos pasado si una
información y qué está pasando acá
porque no ha cambiado el valor a 15 y 25
si nosotros le hemos pasado el valor de
la variable a y el valor de la variable
ve lo que sucede es que cuando nosotros
pasamos de esta manera la variable se
dice que estamos pasando parámetros por
valor es decir estamos pasándoles
simplemente en el valor de 5 y el valor
de 10
se queda almacenado estos valores pero
de manera local si nosotros quisiéramos
no pasarle el valor si no quisiéramos
pasarle la variable completa para poder
hacer cálculos lo que tenemos que hacer
es pasarle los parámetros pero por
referencia es decir no vamos a decirle
que simplemente toma el valor de esta
variable y de esta variable sino que
tomen la variable de manera global para
eso lo que tendríamos que hacer es acá
delante pasarle este símbolo que tenemos
acá si hacemos esto esta función no va a
tomar simplemente el valor de 5 el 10
sino va a tomar la variable completa es
como si estuviéramos utilizando de
manera global estas variables ahora si
viniéramos acá y actualizaremos
efectivamente vemos que ha cambiado
tanto el valor de la variable a como el
valor de la variable b espero que me
haya dejado entender acerca del alcance
de las variables es muy importante que
comprendan estos conceptos y te recuerdo
que si no quieres esperar para ver los
próximos capítulos puedes unirte a la
comunidad de para trium en el plan de 10
dólares y vas a poder
todos estos vídeos de manera anticipada
sin más me despido y nos vemos en el
próximo capítulo
5.0 / 5 (0 votes)