Question

Je trouve dans mes pages PHP des lignes et des lignes de code ressemblant à ceci:

$my_id = isset(

Je trouve dans mes pages PHP des lignes et des lignes de code ressemblant à ceci:

<*>

Existe-t-il un moyen plus efficace, plus concis ou plus lisible de vérifier ce tableau et de l'affecter à une variable locale si elle existe ou d'appliquer une valeur par défaut si ce n'est pas le cas?

EDIT: je ne souhaite pas utiliser register_globals () - J'aurais toujours le problème isset.

REQUEST['my_id']) ?

Je trouve dans mes pages PHP des lignes et des lignes de code ressemblant à ceci:

<*>

Existe-t-il un moyen plus efficace, plus concis ou plus lisible de vérifier ce tableau et de l'affecter à une variable locale si elle existe ou d'appliquer une valeur par défaut si ce n'est pas le cas?

EDIT: je ne souhaite pas utiliser register_globals () - J'aurais toujours le problème isset.

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

Je trouve dans mes pages PHP des lignes et des lignes de code ressemblant à ceci:

<*>

Existe-t-il un moyen plus efficace, plus concis ou plus lisible de vérifier ce tableau et de l'affecter à une variable locale si elle existe ou d'appliquer une valeur par défaut si ce n'est pas le cas?

EDIT: je ne souhaite pas utiliser register_globals () - J'aurais toujours le problème isset.

REQUEST['another_var']) ?

Je trouve dans mes pages PHP des lignes et des lignes de code ressemblant à ceci:

<*>

Existe-t-il un moyen plus efficace, plus concis ou plus lisible de vérifier ce tableau et de l'affecter à une variable locale si elle existe ou d'appliquer une valeur par défaut si ce n'est pas le cas?

EDIT: je ne souhaite pas utiliser register_globals () - J'aurais toujours le problème isset.

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

Existe-t-il un moyen plus efficace, plus concis ou plus lisible de vérifier ce tableau et de l'affecter à une variable locale si elle existe ou d'appliquer une valeur par défaut si ce n'est pas le cas?

EDIT: je ne souhaite pas utiliser register_globals () - J'aurais toujours le problème isset.

Était-ce utile?

La solution

Pourquoi ne pas l'envelopper dans une fonction?

<?php

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

Pourquoi ne pas l'envelopper dans une fonction?

<*>POST[$name]) ?

Pourquoi ne pas l'envelopper dans une fonction?

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

Autres conseils

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

class Request {

  private $defaults = array();
  private static 

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

# 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;

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

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

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

instance) { $c = __CLASS__; self::

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

instance = new $c; } return self::

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

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

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

REQUEST[$field]) && !empty(

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

REQUEST[$field])) { return

Une meilleure méthode pourrait être de créer une classe singleton / static pour faire abstraction des détails de la vérification des données de la demande.

Quelque chose comme:

<*>

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

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

vous pouvez alors faire:

<*>

Je pense que cela rend vos chargements de scripts individuels plus propres et résume la validation, etc. De plus, des charges de portée avec cette conception pour l'étendre / ajouter d'autres comportements, ajouter une gestion plus complexe par défaut, etc. etc.

Tout d'abord, utilisez $ _ POST pour les variables POSTed. $ _ REQUEST est un mashup de nombreuses variables entrantes différentes, pas seulement $ _ POST , et peut poser problème.

Une solution à votre question serait de créer une fonction qui gère la logique isset () .

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

Tout d'abord, utilisez $ _ POST pour les variables POSTed. $ _ REQUEST est un mashup de nombreuses variables entrantes différentes, pas seulement $ _ POST , et peut poser problème.

Une solution à votre question serait de créer une fonction qui gère la logique isset () .

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

Tout d'abord, utilisez $ _ POST pour les variables POSTed. $ _ REQUEST est un mashup de nombreuses variables entrantes différentes, pas seulement $ _ POST , et peut poser problème.

Une solution à votre question serait de créer une fonction qui gère la logique isset () .

<*>POST[$Key]; }

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement


function getPOST($key) {
    if(isset(

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

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

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement


function getPOST($key) {
    if(isset(

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

<*>

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

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

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

<*>

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

<*>POST[$key]; } }

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

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

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement


function getPOST($key) {
    if(isset(

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

<*>

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

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

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

<*>

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

<*>POST[$key]; } }

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

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

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

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

Tout d'abord, n'utilisez JAMAIS la variable $ _REQUEST, cela entraînerait des bugs et d'autres problèmes lors du développement

<*>

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

<*>POST[$key]; } }

notez que ce code laisse la variable vide lorsque $ _POST [$ key] n'a pas été défini

vous pouvez également adapter ce code pour vous permettre de vous fournir un défaut (raisonnable) lorsque la valeur ne peut pas être chargée.

<*>

L'ensemble de variables que vous attendez est-il connu au moment de l'écriture du script ou souhaitez-vous le faire pour un ensemble de valeurs arbitraire? Si l'ancien est vrai, vous pouvez faire quelque chose comme ceci:

# 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 (

L'ensemble de variables que vous attendez est-il connu au moment de l'écriture du script ou souhaitez-vous le faire pour un ensemble de valeurs arbitraire? Si l'ancien est vrai, vous pouvez faire quelque chose comme ceci:

<*>

En gros, cela tire parti de la capacité de PHP à évaluer des variables pour créer d'autres variables (d'où le double dollar pour la clé $$ - cela signifie créer une nouvelle variable dont le nom est la valeur de la clé $ key).

Je n'ai pas encore trouvé de bonne solution à cette dernière situation.

REQUEST[$key])) $key =

L'ensemble de variables que vous attendez est-il connu au moment de l'écriture du script ou souhaitez-vous le faire pour un ensemble de valeurs arbitraire? Si l'ancien est vrai, vous pouvez faire quelque chose comme ceci:

<*>

En gros, cela tire parti de la capacité de PHP à évaluer des variables pour créer d'autres variables (d'où le double dollar pour la clé $$ - cela signifie créer une nouvelle variable dont le nom est la valeur de la clé $ key).

Je n'ai pas encore trouvé de bonne solution à cette dernière situation.

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

En gros, cela tire parti de la capacité de PHP à évaluer des variables pour créer d'autres variables (d'où le double dollar pour la clé $$ - cela signifie créer une nouvelle variable dont le nom est la valeur de la clé $ key).

Je n'ai pas encore trouvé de bonne solution à cette dernière situation.

PHP null opérateur de coalescence !

  

$ username = $ _GET ['user'] ?? 'personne';

Pour un grand nombre de variables, avec vérification des exigences, toute personne est libre d'utiliser mon expect fonction .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top