En caso afirmativo, ¿hay alguna forma de acceder a una var definida en otra etiqueta de fragmento de código PHP?¿Cada fragmento de código PHP dentro de la etiqueta <?php> tiene su propio alcance variable?
Respuesta
No, no es así. Las etiquetas separadas <?php ?>
comparten el mismo alcance variable. Puede acceder a cualquier variable declarada desde cualquier ámbito:
<?php $foo = 4; ?>
<?php echo $foo; /* will echo 4 */ ?>
La única noción de alcance en PHP existe para funciones o métodos. Para usar una variable global en una función o método, debe usar la matriz $GLOBALS
o una declaración global $theVariableINeed;
dentro de su función.
No, de forma predeterminada, todos los archivos comparten el mismo alcance en PHP. El único alcance que obtiene es mediante el uso de clases o funciones.
Si tiene
<php
$a = '111';
?>
y
<php
echo $a
?>
en la misma página, que es la salida 111, es decir, que reconoce las variables desde el primer fragmento de código PHP.
El alcance variable en PHP no funciona así.
El puntaje variable está funcionando en clases y funciones. Por ejemplo:
<?php $a = 10 ?>
<?php echo $a; ?>
Esto funcionará.
Sin embargo:
<?php
$a = 10;
function get_a(){
echo $a;
}
?>
Ésta no va a funcionar. No muestra un valor de $ o un error de nivel de AVISO (según su configuración)
Para obtener más información, puede see this page.
Puede pensar en las partes de la secuencia de comandos que NO ESTÁN dentro de <?php ?>
como equivalentes a una instrucción de eco, excepto sin ninguna interpolación de variables, citas, etc. - solo <?php ?>
. Así, por ejemplo, incluso se puede hacer algo como esto:
<?php if (42) { ?> This will only be output if 42 is true. <?php } ?>
Nota: No estoy diciendo que esto sea una buena idea, simplemente ilustra bien mi punto. –
Esta característica es extremadamente útil para el código generado automáticamente, pero prefiero no leerlo ni escribirlo. – zneak
Tan bruto. Pero bueno, PHP estaba muy por delante de JSX: D – Askdesigners
- 1. Alcance variable Dentro de la clase PHP
- 2. ¿Cada proceso tiene su propio stdin, stdout y stderr?
- 3. Alcance de la variable de tabla dentro del cursor SQL
- 4. Cómo almacenar el código PHP dentro de la variable heredoc?
- 5. Variable global que no tiene alcance mundial
- 6. La captura de señal dentro de su propio manejador
- 7. ¿Cuál es el alcance variable dentro de la cadena `class_eval`?
- 8. alcance variable xslt y su uso
- 9. PHP - Variable dentro de la variable?
- 10. Alcance variable de Javascript dentro del ciclo
- 11. Incrustar código XSL dentro de una etiqueta <a>
- 12. Uso intensivo de la etiqueta "<? Php" de PHP
- 13. Problema de alcance variable con sentencias if (PHP)
- 14. Accediendo a la variable definida dentro de <<< HTML en php
- 15. findViewById dentro del fragmento
- 16. ¿Debería cada clase tener su propio espacio de nombres?
- 17. ¿Debería cada aplicación django dentro de un proyecto tener su propio urls.py?
- 18. Cada tabla derivada debe tener su propio error de alias
- 19. asignación de variable php dentro si condicional
- 20. Alcance de variable en la página aspx
- 21. Variable miembro de clase C++ que conoce su propio desplazamiento
- 22. Ejecución de código dentro de una etiqueta <script> con una fuente externa
- 23. Etiqueta Div dentro de la etiqueta img
- 24. ¿Tiene su propio servidor NuGet y Symbol Source?
- 25. Alcance de variable en C#
- 26. llamando a thread.start() dentro de su propio constructor
- 27. ¿Por qué Go usa su propio generador de código?
- 28. compilando su propio glibc
- 29. ¿Debo crear cada clase en su propio archivo .py?
- 30. fragmento de código php para evitar la piratería
Re: "Existe la única noción de alcance en PHP para funciones o métodos", PHP 5.3 y espacios de nombres tipo de convertir esa declaración en su oído. –