¿Existe alguna manera de crear mis propias variables superglobales personalizadas como $ _POST y $ _GET?crear variables superglobales en php?
Respuesta
variables de clase estáticos pueden ser referenciados a nivel mundial, por ejemplo:
class myGlobals {
static $myVariable;
}
function a() {
print myGlobals::$myVariable;
}
No realmente. aunque puedes abusar de los que están ahí si no te importa lo feo que es.
Nosotros aquí en stackoverflow no son compatibles con el comportamiento abusivo! – bytecode77
Te pensar lo tiene - todas las variables se crea en el espacio global se puede acceder mediante los $ GLOBALS suberglobal así:
// in global space
$myVar = "hello";
// inside a function
function foo() {
echo $GLOBALS['myVar'];
}
¿Cuál es el rendimiento del uso de la matriz $ GLOBALS en comparación con simplemente usar la variable en sí? – Pacerier
^Igual que cualquier otra matriz anidada, es esencialmente insignificante. Tener tu propio superglobal atrae más por la facilidad de uso (menos tipeo) y la estética. – simontemplar
También puede utilizar las variables de entorno del servidor, y acceder a ellas en PHP Esta es una buena manera de almacenar tal vez el acceso a la base de datos global si es propietario y exclusivamente usa el servidor
Tenga en cuenta que esto solo funcionará para cadenas y no para tipos de datos complejos como objetos. – starbeamrainbowlabs
Class Registry {
private $vars = array();
public function __set($index, $value){$this->vars[$index] = $value;}
public function __get($index){return $this->vars[$index];}
}
$registry = new Registry;
function _REGISTRY(){
global $registry;
return $registry;
}
_REGISTRY()->sampleArray=array(1,2,'red','white');
//_REGISTRY()->someOtherClassName = new className;
//_REGISTRY()->someOtherClassName->dosomething();
class sampleClass {
public function sampleMethod(){
print_r(_REGISTRY()->sampleArray); echo '<br/>';
_REGISTRY()->sampleVar='value';
echo _REGISTRY()->sampleVar.'<br/>';
}
}
$whatever = new sampleClass;
$whatever->sampleMethod();
Agregar una descripción a esta respuesta ayudaría a las personas a comprender lo que ha hecho. – starbeamrainbowlabs
Otra forma de evitar este problema es utilizar un método o variable de clase estática.
Por ejemplo:
class myGlobals {
public static $myVariable;
}
Luego, en sus funciones sólo tiene que hacer referencia a la variable global como esta:
function Test()
{
echo myGlobals::$myVariable;
}
no tan limpio como algunos otros idiomas, pero al menos Don No tiene que seguir declarándolo global todo el tiempo.
Sin
Sólo hay una función de superglobales enumerados en this manual
Sí, es posible, pero no con las denominadas funciones "básicas" de PHP. Usted tiene que instalar una extensión llamada runkit: http://www.php.net/manual/en/runkit.installation.php
Después de eso, usted puede configurar su superglobales personalizados en php.ini como se documenta aquí: http://www.php.net/manual/en/runkit.configuration.php#ini.runkit.superglobal
Esta es la única respuesta a esta pregunta que realmente responde. Los otros son básicamente 'no, pero puedes hacer esto en su lugar'. +1, desearía que fuera más alto. –
Otra posible truco con $GLOBALS
si es necesario dentro de los proyectos pequeños:
archivo.php: (donde se define el "super-global")
$GLOBALS['xyz'] = "hello";
any_included_file.php:
global $xyz; //only once enough in the start of the file/method
...
...
...
...
...
echo $xyz;
- 1. PHP: ¿Cómo crear variables de objetos?
- 2. crear nuevas variables de claves de matriz en PHP
- 3. variable-variables en PHP
- 4. variables en PHP gettext
- 5. variables de PHP en clases
- 6. variables php en funciones anónimas
- 7. ¿Cómo crear variables ficticias?
- 8. PHP guardar variables
- 9. Referenciar variables de sesión en PHP
- 10. PHP Static Variables
- 11. Usando $ variables en preg_replace en PHP
- 12. Crear múltiples variables numeradas basadas en int
- 13. Cómo crear variables globales en Erlang
- 14. R: Crear variables en el bucle
- 15. Cómo crear variables en JavaScript dynamiccally
- 16. ¿Cómo importo paquetes variables en Python como usar variables variables ($$) en PHP?
- 17. Configuración de variables de PHP en httpd.conf?
- 18. Variables estáticas PHP en comillas dobles
- 19. ¿Cuándo uso variables/funciones estáticas en php?
- 20. ¿Puede agregar cadenas a variables en PHP?
- 21. Raspado de variables de Javascript en PHP
- 22. PHP: variables en cadenas sin concatenación
- 23. Permanentemente escribir variables en un archivo php con php
- 24. PHP vs ASP.NET variables estáticas
- 25. ¿Java admite variables variables?
- 26. Jquery load() y variables PHP
- 27. ¿Cómo maneja PHP las variables?
- 28. php pdo prepare variables repetitivas
- 29. PHP - pasar variables a clases
- 30. ¿Crear una instancia de clase dinámica programáticamente en PHP con argumentos variables?
Usted señor, hizo mi día. ¿Pero solo funciona dentro de las clases? ¿Hay alguna manera de hacer esto fuera de una clase? – Mauker