J'ai parcouru la documentation JInput .
Nous pouvons accéder à l'objet JInput comme ceci:
JFactory::getApplication()->input;
Si nous récupérons plus de valeurs, il serait utile de stocker l'objet JInput dans une variable afin que nous n'ayons pas besoin d'appeler à JFactory::getApplication()
chaque fois que nous faisons cela:
$jinput = JFactory::getApplication()->input;
Pour récupérer une valeur de JInput, nous devons utiliser sa méthode get:
$data = $jinput->get('varname', 'default_value', 'filter');
Comme vous pouvez le voir, il a 3 paramètres:
- le nom de la variable
- la valeur par défaut (par défaut null)
- le nom du filtre (par défaut cmd)
Et voici ma question concernant le 3ème paramètre.
Comment puis-je créer mon propre filtre Jinput
? Par exemple, si je dois valider des numéros de téléphone ou une adresse IP, comment puis-je créer mon propre filtre pour cela?
joomla-3.x
jinput
Joomler
la source
la source
Réponses:
c'est assez simple
Dans un premier temps, créez une classe Jinput personnalisée telle que
class JinputTelephone
// ce que vous voulez.peut-être jetez un œil dans les classes inputfilter existantes sous / bibliothèques / joomla / input
// Modifiez le getter et le filterMethod comme vous le souhaitez
// utilisation
// avec cette méthode, vous pouvez également utiliser la gestion d'entrée standard // Mais vous ne pouvez pas l'utiliser avec JApplication une entrée
Il existe de nombreuses autres façons de le faire. Une autre solution $ data = MyFilter :: SanitizeNumber ($ jinput-> get ('varname', 'default_value', 'raw'));
ça vous aide?
la source
Mon essai,
je vois que vous avez une certaine expérience avec joomla donc je vais juste y mettre mes quelques cents.
JLoader
si je ne me trompe pas et ajouter un chemin vers les bibliothèques aka/plugins/system/myplugin/libraries/newfilter.php
PS. vous pouvez créer de cette façon une surcharger les bibliothèques et la plateforme de base trop joomla. Un tel problème SSL Curl avec les certificats; )
Cordialement
la source