16 - Ámbito de las variables PHP - Curso PHP 8 desde cero (Actualizado)

Coders Free
16 Jun 202107:05

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

00:00

🌐 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.

05:03

🔢 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

Las variables son elementos fundamentales en la programación que permiten almacenar datos para su uso posterior en un programa. En el guion, se menciona que en PHP existen dos tipos de variables: globales y locales. Las variables globales son accesibles desde cualquier parte del código, mientras que las variables locales solo son accesibles dentro del bloque de código donde fueron declaradas.

💡Variables Globales

Las variables globales son aquellas que se pueden acceder desde cualquier parte del programa. En el guion, se ilustra cómo una variable 'a' declarada fuera de una función puede ser modificada dentro de la función utilizando la palabra reservada 'global', lo que permite a la función acceder y manipular el valor de la variable global.

💡Variables Locales

Las variables locales son aquellas que solo son visibles dentro del ámbito donde fueron declaradas, generalmente dentro de una función. En el guion, se muestra que si se declara una variable 'a' dentro de una función, esta no interfiere con una variable 'a' global, ya que PHP las maneja como variables distintas.

💡Ámbito de las Variables

El ámbito de las variables se refiere a la región del código donde una variable es reconocida y accesible. En el guion, se explica que el ámbito de una variable local es limitado al bloque de código donde fue declarada, mientras que el ámbito de una variable global es el conjunto completo del archivo.

💡Funciones

Las funciones son bloques de código organizados que realizan una tarea específica y pueden ser invocados desde diferentes partes del programa. En el guion, se utiliza una función llamada 'test' para demostrar cómo las variables locales pueden interferir con las variables globales y cómo se pueden manejar para evitar conflictos.

💡Parámetros por Valor

Cuando se pasan parámetros a una función por valor, se envía una copia del valor de la variable. En el guion, se menciona que al pasar variables como parámetros por valor, la función solo recibe una copia del valor y no tiene acceso a la variable original, lo que significa que no puede modificar la variable original fuera de la función.

💡Parámetros por Referencia

Al pasar parámetros por referencia, se envía la variable misma en lugar de una copia de su valor. Esto permite que una función modifique directamente la variable original. En el guion, se explica cómo se puede utilizar la referencia para permitir que una función aumente el valor de variables globales, como se muestra con la variable 'a' y 'b'.

💡Palabra Reservada Global

La palabra reservada 'global' en PHP se utiliza para declarar una variable dentro de una función con el fin de hacer referencia a la variable global del mismo nombre. En el guion, se muestra cómo usar 'global' para que una función pueda acceder y modificar el valor de una variable global.

💡Conflicto de Variables

Un conflicto de variables ocurre cuando hay dos variables con el mismo nombre en diferentes ámbitos que se utilizan de manera incorrecta. En el guion, se explica que aunque pueden existir variables locales y globales con el mismo nombre, no entran en conflicto porque son manejadas por PHP como variables distintas.

💡Modificación Dinámica de Variables

La modificación dinámica de variables se refiere a cambiar el valor de una variable durante la ejecución del programa. En el guion, se discute cómo se pueden utilizar funciones para modificar dinámicamente el valor de variables, ya sea incrementándolas en una cantidad específica o cambiando su valor por completo.

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

play00:00

hola qué tal amigos en este capítulo

play00:02

vamos a hablar sobre el ámbito de las

play00:05

variables para lo cual lo que tú tienes

play00:07

que saber es que en php existen dos

play00:09

tipos de variables tenemos las variables

play00:12

globales y tenemos las variables locales

play00:14

cuando nosotros declaramos una variable

play00:17

por ejemplo voy a declarar la variable a

play00:19

y le asignó el valor de 5 voy a poder

play00:22

acceder al valor de esta variable a lo

play00:25

largo de todo nuestro fichero - dentro

play00:28

de una función las funciones se

play00:30

consideran como bloques de código

play00:33

independientes dentro de las cuales

play00:35

vamos a poder declarar nuestras propias

play00:38

variables y al ser bloques de código

play00:41

independientes no vamos a poder acceder

play00:44

a las variables que se encuentren por

play00:46

fuera de este bloque así por ejemplo si

play00:49

yo declarar acá una función que le voy a

play00:51

dar el nombre de test y acá trata de

play00:55

imprimir el valor de la variable a me va

play00:58

a dar un error es más acá mismo ya me lo

play01:00

está marcando el editor me dice que acá

play01:02

tengo un error pero si insistimos

play01:05

desde afuera ejecutamos la función test

play01:08

vamos a ver que nos sale en el navegador

play01:10

actualizamos y me dice que no he

play01:13

definido la variable a y que el error lo

play01:17

tengo en la línea 7 lo que sucede es que

play01:19

cuando php trata de ejecutar este código

play01:22

va a buscar esta variable pero de manera

play01:25

local y como no hemos declarado de

play01:27

manera local dentro de esta función una

play01:29

variable llamada me da ese error pero si

play01:32

por ejemplo acá declarar una variable

play01:35

llamada a y le asignó el valor de 3 y

play01:38

ahora viniera acá y actualizará se

play01:40

imprime el valor de 3 ahora quiero que

play01:44

tomen atención en lo siguiente nosotros

play01:46

por fuera hemos declarado una variable a

play01:49

y por dentro también hemos declarado una

play01:52

variable llamada no obstante estas dos

play01:54

variables no entran en conflicto ya que

play01:56

para php

play01:58

es como si fueran variables distintas

play02:00

por más que lleven el mismo nombre para

play02:02

comprobar esto vamos a hacer lo

play02:04

siguiente por más que nosotros acá hemos

play02:07

ejecutado el valor de 3 por lo tanto a

play02:09

la variable hasta le ha declarado

play02:11

se le ha asignado el valor de 3 si yo

play02:13

por ejemplo acá abajo tratará de

play02:16

imprimir la variable global a lo que va

play02:19

a ocurrir es que se va a imprimir de

play02:21

todas maneras el valor de 5 es decir se

play02:24

va a imprimir primero 3 que se trata de

play02:26

la variable local y luego se imprime el

play02:29

5 que se trata de la variable global

play02:31

vamos a comprobar actualizamos y

play02:34

efectivamente acá tenemos el valor de 3

play02:36

y acá tenemos el valor de 5 y eso

play02:40

significa que desde una función nunca

play02:42

vamos a poder acceder al valor de una

play02:45

variable global no si vamos a poder

play02:47

acceder al valor de una variable global

play02:49

pero tendríamos que hacer un paso

play02:51

adicional por ejemplo si quisiera

play02:54

acceder al valor que tenemos acá lo que

play02:56

tendría que hacer es aquí escribir la

play03:00

palabra reservada global y decir luego

play03:03

que queremos utilizar la variable global

play03:05

y de esa manera vamos a tener acceso a

play03:10

esta variable así por ejemplo si venimos

play03:13

y actualizamos vemos que se imprime

play03:15

correctamente 5 es decir ha tomado el

play03:19

valor de la variable global 5 y no sólo

play03:22

eso sino que vamos a poder cambiar

play03:23

incluso el valor de esta variable global

play03:27

así por ejemplo si yo hago lo siguiente

play03:30

defino que el valor de ac a 10 sólo

play03:34

quiero que la función a eso cambie el

play03:36

valor de a por 10 y afuera imprimiera

play03:40

tengo que ejecutarlo eso sí para que se

play03:42

ejecute en estas líneas y afuera

play03:44

imprimiera el valor de la variable

play03:46

global y voy a ver que ahora ya no es 5

play03:49

sino es 10

play03:52

y efectivamente ahora es 10 ahora y qué

play03:55

ocurre si nosotros quisiéramos cambiar

play03:58

el valor de una variable pero de manera

play04:02

dinámica es decir por ejemplo acá voy a

play04:05

declarar otra variable

play04:07

que se va a llamar be y le vamos a

play04:10

asignar el valor de 10 y lo que quiero

play04:12

que haga esta función es que aumente en

play04:16

5 unidades el valor pero yo quiero

play04:19

utilizar esta misma función para

play04:21

aumentar en 10 unidades tanto la

play04:24

variable a como la variable v no sé si

play04:27

me dejó entender entonces nosotros

play04:29

podríamos hacer lo siguiente

play04:32

podría decir que voy a recibir un número

play04:35

y el valor de ese número quiero

play04:37

aumentarlo en 10 unidades entonces acá

play04:41

podría pasarle como parámetro el valor

play04:44

de la variable a

play04:46

y por acá le quiero pasar el valor de la

play04:51

variable b de esta manera y luego abajo

play04:54

vamos a imprimir a ver qué ocurre si

play04:57

imprimo el valor de la variable a vamos

play04:59

a concatenar lo con un salto de línea y

play05:02

luego abajo vamos a imprimir el valor de

play05:06

la variable que creen que ocurra que va

play05:09

a imprimir acá 15 y 20 o van a imprimir

play05:12

5 y 10 vamos a comprobarlo voy a venir

play05:16

acá y lo que va a imprimir es el valor

play05:19

de 5 y 10 lo que está sucediendo acá es

play05:23

que nosotros hemos pasado si una

play05:26

información y qué está pasando acá

play05:28

porque no ha cambiado el valor a 15 y 25

play05:33

si nosotros le hemos pasado el valor de

play05:35

la variable a y el valor de la variable

play05:37

ve lo que sucede es que cuando nosotros

play05:40

pasamos de esta manera la variable se

play05:43

dice que estamos pasando parámetros por

play05:45

valor es decir estamos pasándoles

play05:47

simplemente en el valor de 5 y el valor

play05:50

de 10

play05:52

se queda almacenado estos valores pero

play05:54

de manera local si nosotros quisiéramos

play05:57

no pasarle el valor si no quisiéramos

play06:00

pasarle la variable completa para poder

play06:03

hacer cálculos lo que tenemos que hacer

play06:05

es pasarle los parámetros pero por

play06:08

referencia es decir no vamos a decirle

play06:11

que simplemente toma el valor de esta

play06:13

variable y de esta variable sino que

play06:15

tomen la variable de manera global para

play06:17

eso lo que tendríamos que hacer es acá

play06:19

delante pasarle este símbolo que tenemos

play06:22

acá si hacemos esto esta función no va a

play06:25

tomar simplemente el valor de 5 el 10

play06:27

sino va a tomar la variable completa es

play06:30

como si estuviéramos utilizando de

play06:32

manera global estas variables ahora si

play06:34

viniéramos acá y actualizaremos

play06:36

efectivamente vemos que ha cambiado

play06:38

tanto el valor de la variable a como el

play06:41

valor de la variable b espero que me

play06:44

haya dejado entender acerca del alcance

play06:47

de las variables es muy importante que

play06:49

comprendan estos conceptos y te recuerdo

play06:51

que si no quieres esperar para ver los

play06:53

próximos capítulos puedes unirte a la

play06:55

comunidad de para trium en el plan de 10

play06:57

dólares y vas a poder

play06:58

todos estos vídeos de manera anticipada

play07:00

sin más me despido y nos vemos en el

play07:03

próximo capítulo

Rate This

5.0 / 5 (0 votes)

Связанные теги
ProgramaciónPHPVariablesFuncionesCodificaciónAlcanceGlobalesLocalesParámetrosReferencia
Вам нужно краткое изложение на английском?