Pregunta

Estoy trabajando en el código de alguien y tienen un constructor que usa:

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

Estoy trabajando en el código de alguien y tienen un constructor que usa:

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

Mi pregunta es esta: ¿es posible desinfectar los datos dentro del constructor? ¿Incluso usando alguna función simple como strip_tags ()?

Ejemplo de uso:

<*>GET; } }

Mi pregunta es esta: ¿es posible desinfectar los datos dentro del constructor? ¿Incluso usando alguna función simple como strip_tags ()?

Ejemplo de uso:

<*>
¿Fue útil?

Solución

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

foreach(

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

function getParams($key)
{
  return sanitize(

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

foreach(

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

<*>

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

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

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

<*>

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

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

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

<*>GET[$key]); }

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

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

Veo dos formas de abordarlo. Una sería usar un bucle foreach en el contructor para recorrer los parámetros $ _GET

<*>

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

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

Alternativamente, recupere los datos mediante una función get y desinfecte allí.

<*>

Otros consejos

Puedes hacer casi cualquier cosa que quieras en el constructor. Dicho esto, no significa que debas hacerlo. Muchos argumentarían que cualquier cosa significativa o que pueda generar una excepción no debería estar en un constructor. De todos modos, si vas a usar esta clase, podrías hacer algo como esto:

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(

Puedes hacer casi cualquier cosa que quieras en el constructor. Dicho esto, no significa que debas hacerlo. Muchos argumentarían que cualquier cosa significativa o que pueda generar una excepción no debería estar en un constructor. De todos modos, si vas a usar esta clase, podrías hacer algo como esto:

<*>GET); $q->getField('id');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top