Question

Je travaille sur le code de quelqu'un et ils ont un constructeur qui utilise:

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

Je travaille sur le code de quelqu'un et ils ont un constructeur qui utilise:

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

Ma question est la suivante: est-il possible d'assainir les données dans le constructeur? Même en utilisant une fonction simple comme strip_tags ()?

Exemple d'utilisation:

<*>GET; } }

Ma question est la suivante: est-il possible d'assainir les données dans le constructeur? Même en utilisant une fonction simple comme strip_tags ()?

Exemple d'utilisation:

<*>
Était-ce utile?

La solution

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

foreach(

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

function getParams($key)
{
  return sanitize(

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

foreach(

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

<*>

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

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

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

<*>

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

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

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

<*>GET[$key]); }

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

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

Je vois deux façons de l'aborder. On pourrait simplement utiliser une boucle foreach dans le constructeur pour parcourir les paramètres $ _GET

<*>

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

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

Vous pouvez également récupérer les données via une fonction get et les désinfecter.

<*>

Autres conseils

Vous pouvez faire à peu près tout ce que vous voulez dans le constructeur. Cela dit, cela ne signifie pas que vous devriez. Beaucoup diraient que tout ce qui est significatif ou qui pourrait générer une exception ne devrait pas être dans un constructeur. Quoi qu'il en soit, si vous allez utiliser cette classe, vous pouvez faire quelque chose comme ceci:

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(

Vous pouvez faire à peu près tout ce que vous voulez dans le constructeur. Cela dit, cela ne signifie pas que vous devriez. Beaucoup diraient que tout ce qui est significatif ou qui pourrait générer une exception ne devrait pas être dans un constructeur. Quoi qu'il en soit, si vous allez utiliser cette classe, vous pouvez faire quelque chose comme ceci:

<*>GET); $q->getField('id');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top