Pregunta

Encuentro en mis páginas PHP que termino con líneas y líneas de código que se ven así:

$my_id = isset(

Encuentro en mis páginas PHP que termino con líneas y líneas de código que se ven así:

<*>

¿Existe una forma mejor, más concisa o más legible de verificar esta matriz y asignarla a una variable local si existe o aplicar un valor predeterminado si no existe?

EDITAR: no quiero usar register_globals () - De todos modos, todavía tendría el problema de isset.

REQUEST['my_id']) ?

Encuentro en mis páginas PHP que termino con líneas y líneas de código que se ven así:

<*>

¿Existe una forma mejor, más concisa o más legible de verificar esta matriz y asignarla a una variable local si existe o aplicar un valor predeterminado si no existe?

EDITAR: no quiero usar register_globals () - De todos modos, todavía tendría el problema de isset.

REQUEST['my_id'] : ''; $another_var = isset(

Encuentro en mis páginas PHP que termino con líneas y líneas de código que se ven así:

<*>

¿Existe una forma mejor, más concisa o más legible de verificar esta matriz y asignarla a una variable local si existe o aplicar un valor predeterminado si no existe?

EDITAR: no quiero usar register_globals () - De todos modos, todavía tendría el problema de isset.

REQUEST['another_var']) ?

Encuentro en mis páginas PHP que termino con líneas y líneas de código que se ven así:

<*>

¿Existe una forma mejor, más concisa o más legible de verificar esta matriz y asignarla a una variable local si existe o aplicar un valor predeterminado si no existe?

EDITAR: no quiero usar register_globals () - De todos modos, todavía tendría el problema de isset.

REQUEST['another_var'] : 42; ...

¿Existe una forma mejor, más concisa o más legible de verificar esta matriz y asignarla a una variable local si existe o aplicar un valor predeterminado si no existe?

EDITAR: no quiero usar register_globals () - De todos modos, todavía tendría el problema de isset.

¿Fue útil?

Solución

¿Qué tal envolverlo en una función?

<?php

function getPost($name, $default = null) {
    return isset(

¿Qué tal envolverlo en una función?

<*>POST[$name]) ?

¿Qué tal envolverlo en una función?

<*>POST[$name] : $default; }

Otros consejos

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

class Request {

  private $defaults = array();
  private static 

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

# get an instance of the request
$request = Request::getInstance();

# pass in defaults.
$request->setDefaults(array('name'=>'Please Specify'));

# access properties
echo $request->name;
echo $request->email;

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

instance = false; function getInstance () { if (!self::

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

instance) { $c = __CLASS__; self::

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

instance = new $c; } return self::

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

instance; } function setDefaults($defaults) { $this->defaults = $defaults; } public function __get($field) { if (isset(

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

REQUEST[$field]) && !empty(

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

REQUEST[$field])) { return

un método mejor podría ser crear una clase singleton / estática para abstraer los detalles de verificar los datos de la solicitud.

Algo así como:

<*>

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

REQUEST['field']; } elseif (isset($this->defaults[$field])) { return $this->defaults[$field]; } else { return ''; # define a default value here. } } }

entonces puedes hacer:

<*>

Creo que esto hace que sus scripts individuales se carguen más y abstraiga la validación, etc. Además de un gran alcance con este diseño para extenderlo / agregar comportamientos alternativos, agregar un manejo predeterminado más complicado, etc., etc.

Primero, use $ _POST para las variables POST. $ _REQUEST es una combinación de muchas variables entrantes diferentes, no solo $ _POST y podría causar problemas.

Una solución para su pregunta sería crear una función que maneje la lógica isset () .

function ForceIncomingValue($Key, $Default) {
    if (!isset(

Primero, use $ _POST para las variables POST. $ _REQUEST es una combinación de muchas variables entrantes diferentes, no solo $ _POST y podría causar problemas.

Una solución para su pregunta sería crear una función que maneje la lógica isset () .

<*>POST[$Key])) return $Default; else return

Primero, use $ _POST para las variables POST. $ _REQUEST es una combinación de muchas variables entrantes diferentes, no solo $ _POST y podría causar problemas.

Una solución para su pregunta sería crear una función que maneje la lógica isset () .

<*>POST[$Key]; }

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo


function getPOST($key) {
    if(isset(

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

function getPOST($key, $default = NULL) {
    if(isset(

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo


function getPOST($key) {
    if(isset(

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

<*>

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key])) { return

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

<*>

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key]; } }

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key])) { return

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo


function getPOST($key) {
    if(isset(

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

<*>

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key])) { return

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

<*>

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key]; } }

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key]; } else { return $default; } }

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key])) { return

en primer lugar, NUNCA use la variable $ _REQUEST, provocará errores y otros problemas durante el desarrollo

<*>

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>POST[$key]; } }

tenga en cuenta que este código deja la variable vacía cuando $ _POST [$ key] no se configuró

también podría adaptar ese código para permitirle proporcionar un valor predeterminado (sensible) cuando el valor no se pudo cargar.

<*>

¿Se conoce el conjunto de variables que espera en el momento de la escritura del script o desea hacer esto para un conjunto arbitrario de valores? Si lo primero es cierto, podría hacer algo como esto:

# This array would hold the names of all the variables you're expecting
# and a default value for that variable name
$variableNames = array (...); 
foreach ($variableNames as $key => $default) {
    if (isset (

¿Se conoce el conjunto de variables que espera en el momento de la escritura del script o desea hacer esto para un conjunto arbitrario de valores? Si lo primero es cierto, podría hacer algo como esto:

<*>

Básicamente, esto aprovecha la capacidad de PHP para evaluar variables para crear otras variables (de ahí el doble dólar para la clave $$; esto significa crear una nueva variable cuyo nombre es el valor de $ clave).

Todavía no he encontrado una buena solución para esta última situación.

REQUEST[$key])) $key =

¿Se conoce el conjunto de variables que espera en el momento de la escritura del script o desea hacer esto para un conjunto arbitrario de valores? Si lo primero es cierto, podría hacer algo como esto:

<*>

Básicamente, esto aprovecha la capacidad de PHP para evaluar variables para crear otras variables (de ahí el doble dólar para la clave $$; esto significa crear una nueva variable cuyo nombre es el valor de $ clave).

Todavía no he encontrado una buena solución para esta última situación.

REQUEST[$key]; else $key = $default; }

Básicamente, esto aprovecha la capacidad de PHP para evaluar variables para crear otras variables (de ahí el doble dólar para la clave $$; esto significa crear una nueva variable cuyo nombre es el valor de $ clave).

Todavía no he encontrado una buena solución para esta última situación.

PHP nulo operador de coalescencia !

  

$ username = $ _GET ['usuario'] ?? 'nobody';

Para muchas variables, con una verificación de requisitos, cualquiera puede usar mi esperar function .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top