Bonjour,
Je commence à avoir des problèmes de conflits et je me tourne vers les namespaces.
J'ai un fichier TEST_CLASSES.php situé dans /root:et une classe de test située dans /root/classes/inputsCtl.class.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php spl_autoload_register(function($class) { $path = "classes/".$class.".class.php"; if (is_file($path)) { require $path; } }); use moimp\inputsCtl as inputsCtl; $test = new inputsCtl(); $a = $test->ctl_password('abcdef', 2, 8, inputsCtl::CHECK_LOWER);EDIT: J'oubliais l'essentiel, le message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php namespace moimp\inputsCtl; /** * Classe rassemblant les contrôles de saisie de formulaire */ class inputsCtl { // CONSTANTES // Contrôle de mot de passe const CHECK_LOWER = 1<<0; const CHECK_UPPER = 1<<1; const CHECK_DIGIT = 1<<2; const CHECK_NON_ALNUM = 1<<3; const PATTERNS = [ CHECK_LOWER => '#[a-z]#', CHECK_UPPER => '#[A-Z]#', CHECK_DIGIT => '#\d#', CHECK_NON_ALNUM=> '#[^[:alnum:]]#', ]; // VARIABLES // METHODES public function ctl_password(string $pw, int $min=0, int $max=0, int $types=0):bool { if ( $min !=0 and mb_strlen($pw) <$min ) return false; if ( $max !=0 and mb_strlen($pw) >$max ) return false; if ( $types ) { foreach (PATTERNS as $key=>$pattern) { if ( 0 != ($types & $key) and !preg_match($pattern, $pw) ) { return false; } } } return true; } }. Pourquoi PHP ne trouve t-il pas la classe?Class 'moimp\inputsCtl' not found in C:\wamp64\www\monRepertoire\TEST_CLASSES.php:12 Stack trace: #0 {main} thrown in C:\wamp64\www\monRepertoire\TEST_CLASSES.php on line 12
EDIT2: Corrigé une erreur ligne 4 du fichier TEST_CLASSES.php
EDIT 3: Correction d'une erreur / au lieu de \ ligne 2 du fichier de classe
Question annexe: Existe t-il une possibilité d'utiliser les constantes de classes sans utiliser les :: comme cela se fait pour les fonctions natives de PHP? Où sont elles définies dans ce cas dans PHP.
Partager