Domanda

Sto lavorando sul codice di qualcuno e hanno un costruttore che utilizza:

class qwerty {
public function __construct(){
// some other code
    $this->get = 

Sto lavorando sul codice di qualcuno e hanno un costruttore che utilizza:

$qwerty = new qwerty;
qwerty->get['id'];

La mia domanda è questa: è possibile disinfettare i dati all'interno del costruttore? Anche usando alcune semplici funzioni come strip_tags ()?

Esempio di utilizzo:

<*>GET; } }

La mia domanda è questa: è possibile disinfettare i dati all'interno del costruttore? Anche usando alcune semplici funzioni come strip_tags ()?

Esempio di utilizzo:

<*>
È stato utile?

Soluzione

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

foreach(

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

function getParams($key)
{
  return sanitize(

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

foreach(

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

<*>

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>GET AS $key => $val) {

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

<*>

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>GET[$key] = sanitize($val); }

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>GET[$key]); }

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>GET AS $key => $val) {

Vedo due modi per affrontarlo. Uno sarebbe semplicemente usare un ciclo foreach nel contrettore per scorrere i parametri $ _GET

<*>

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>GET[$key] = sanitize($val); }

In alternativa, recupera i dati tramite una funzione get e disinfetta lì.

<*>

Altri suggerimenti

Puoi fare praticamente tutto quello che vuoi nel costruttore. Detto questo, non significa che dovresti. Molti sosterrebbero che qualsiasi cosa significativa o che potrebbe generare un'eccezione non dovrebbe essere in un costruttore. Ad ogni modo, se hai intenzione di usare questa classe potresti fare qualcosa del genere:

class qwerty
{
    private $get;

    public function __construct($params)
    {
       $this->get = $this->sanitize($params);
    }

    public function sanitize($params)
    {
        $sanitized = $params;

        foreach ($sanitized as $key => $value) {
            $sanitized[$key] = strip_tags($value);
        }

        return $sanitized;
    }

    public function getField($field)
    {
        if (array_key_exists($field,$this->get)) {
            return $this->get[$field];
        } else {
            return null;
        }
    }
}

$q = new qwerty(

Puoi fare praticamente tutto quello che vuoi nel costruttore. Detto questo, non significa che dovresti. Molti sosterrebbero che qualsiasi cosa significativa o che potrebbe generare un'eccezione non dovrebbe essere in un costruttore. Ad ogni modo, se hai intenzione di usare questa classe potresti fare qualcosa del genere:

<*>GET); $q->getField('id');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top