Php avancé / AJAX / Jquery

Résolu
Bonjour,

Pour maîtriser l'interaction entre ces différentes techniques j'ai téléchargé
un joli formulaire gratuit et opensource à cette adresse:

https://resellscripts.info/

Après l'avoir testé il fonctionne comme il faut en ligne et en local.

Depuis je me suis plongé dans le code.
Il y a quelques points qui m'échappent encore. J'espère trouver quelqu'un qui aurai le temps de se pencher sur la classe "Config" et m'expliquer en gros le fonctionnement de la fonction "__constructor" dans le fichier config.class.php

Et surtout ces deux lignes :

(vers la ligne 44 de config.class.php)

$this->fields = $fields;
$this->data = self::clean($post);

surtout que je ne vois nulle part un attribut nommé "fields" ou "data"

Merci

6 réponses

  1. Salut.

    Pour la méthode __constructor, elle est appelée depuis la classe Protector qui hérite de Config ; On peut voit à la ligne 6 "parent::__constructor()"

    Pour la ligne 43 (la 44 est vide), c'est parce que la méthode clean() est statique (cf. ligne 104).

    Les attributs ne doivent pas forcément être déclarés.
    Pour tester :
    <?php
    
    class MaClass {
    	function __construct($chaine) {
    		$this->chaine = $chaine;
    	}
    	
    	function getString() {
    		return $this->chaine;
    	}
    }
    
    $classe = new MaClass("Salut !");
    echo $classe->getString();
    ?>

    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    1. « Cette fonction reçois en paramètre un tableau $post en suite fait quelques manipulations avec le fichier fields.php (contient du xml) dans quel objectif ? »
      Ce fichier XML contient les champs du formulaire (Nom, libellé, ce qu'ils doivent contenir, message d'erreur, ...).

      « Excuses je rectifie : ma question concerne les deux lignes 42 et 43 »
      J'ai édité ma réponse précédente avant ta réponse :)
      1. Encore Merci avion :))

        Oui j'ai vu que Email hérite de Protector qui hérite de Config.
        Cette fonction reçois en paramètre un tableau $post en suite fait quelques manipulations avec le fichier fields.php (contient du xml) dans quel objectif ?

        Excuses je rectifie : ma question concerne les deux lignes 42 et 43.

        $this->fields = $fields;
        $this->data = self::clean($post);

        T'as trouvé l'endroit ou sont déclarés fields et data ?
        (Si on fait un this->machin ça veut bien dire que machin est un attribut définit quelque part ?)
        1. Ok j'y vois un peu plus clair maintenant :))

          Waaaaw je viens d'apprendre qu'un attribut peut ne pas être déclaré !!!!
          dans ce cas il a un type par defaut ? il est publique ?

          Autre petite qustion après je t'embete plus ^^:
          Je cherche l'endroit où il y a la comparaison entre le captcha (assets\php\security\1sec.php) et le code saisi par l'utilisateur ??
          1. « Waaaaw je viens d'apprendre qu'un attribut peut ne pas être déclaré ! »
            Pour être honnête, moi aussi je l'ignorais.

            « dans ce cas il a un type par defaut ? il est publique ? »
            Oui, il est publique.
            1. On en apprend tous les jours avec des membres aussi actifs comme avion :)) sinon T'aurais pas zapé ma question sur le captcha :)) ??
          2. Désolé, je l'ai zappé.
            Fichier protector.class.php, ligne 70.