Pregunta de la función php __construct () que involucra esto- > get = $ _GET
-
06-07-2019 - |
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:
<*>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');