\SearchWP\Rule
Table des matières
\SearchWP\Rule est responsable de la modélisation des contraintes entourant les résultats de recherche (\SearchWP\Entry) qui sont pris en compte lors de l'exécution d'une \SearchWP\Query. Par exemple :
- Exclure les articles de la catégorie « Non classé »
- Afficher uniquement les mises à jour publiées au cours des 6 derniers mois
- etc…
Contrairement à db_where() dans une \SearchWP\Source qui s'applique *toujours*, les \SearchWP\Rules sont visibles par l'utilisateur et sont établis lors de la configuration des Moteurs. Les \SearchWP\Rules sont appliqués à la fois lors de l'indexation et de la recherche.
Arguments
Lors de l'instanciation d'une nouvelle \SearchWP\Rule, un array des éléments suivants peut être fourni :
name(string)- Un nom unique. (défaut :
'') label(string)- Libellé d'affichage. (défaut : valeur de
name) options(false|array|callable)- Options. (défaut :
false) option_values_ajax_tag(string)- Callback AJAX pour récupérer les
optionsà la volée. (défaut : valeur de'') conditions(false|array)- Conditions qui peuvent être appliquées. (défaut :
false) - Lorsque
arrayles valeurs suivantes peuvent être utilisées :'=','!=','>','>=','<','<=','LIKE','NOT LIKE','IN','NOT IN','BETWEEN','NOT BETWEEN','EXISTS','NOT EXISTS' values(false|\SearchWP\Option[])- Lorsque les
optionssont disponibles, ce sont lesvaluescorrespondantes à choisir. (défaut :false) - Lorsque
callableles arguments suivants sont passés : $option(string) L'optionchoisie.$search(string) Chaîne de recherche lors de la recherche.$include(string)optionsà utiliser comme limite lors du retour.application(array|callable)- L'application de cette
\SearchWP\Rule. Retourne soit une instructionSQLpréparée qui s'applique, soit unarrayd'IDs d'\SearchWP\Entryqui satisfont la\SearchWP\Rule. (défaut :null) - Lorsque
callablel'argument suivant (arrayavec les clés suivantes) est passé : 'option'(string) L'optionchoisie.'value'(string) Lavaleurchoisie.'condition'(string) Laconditionchoisie.
Méthodes
Lorsque vous travaillez avec \SearchWP\Rule, un certain nombre de méthodes sont à considérer.
get_name()- Obtenseur pour le nom.
get_label()- Getter pour le libellé.
get_options()- Accesseur pour les options.
get_conditions()- Accesseur pour les conditions.
get_values( $option = '', $search = false, array $include = [] )- Accesseur pour les valeurs.
get_application( array $settings )- Accesseur pour l'application.
get_settings()- Accesseur pour les paramètres (c'est-à-dire tels qu'ils sont considérés par un
\SearchWP\Engine).

