Bonjour,

J'ai une erreur
Error: Class 'controller\\WebService' not found in C:\\wamp64\\www\\ibanV4\\controller\\controller.php on line <i>55</i
lorsque je mets ma class WebService dans mon dossier model, donc quand je veux faire du MVC. Et je ne comprend pas pourquoi...

Si je mets ma class WebService dans le namespace global iban ça fonctionne.

mon controller
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
namespace controller;
 
require_once __DIR__ . '/../vendor/autoload.php';
 
use IBAN;
use model\WebService;
 
if(!empty($_GET)) {
    //extract($_POST);//extrait les données du POST et permet de les pouvoir appeler les variables contenuent dans le POST $variable
    $iban = $_GET['iban'];
    $myIban = new IBAN($iban);
 
    $errors = [];//Tableau qui contiendra les erreurs s'il y en a.
    $valid = [];//Tableau qui contiendra les messages valides
 
    //si le champs IBAN est vide, je mets le message d'erreur dans le tableau des erreurs
    if(empty($iban)) {
        array_push($errors, 'Vous devez rentrer votre IBAN!');
    }
 
    //Vérifiez un numéro IBAN. Tolère les espaces, les préfixes "IBAN ...", les tirets, les entrées en minuscules, etc.
    if(!$myIban->Verify()) {
        array_push($errors, 'IBAN invalide! Mauvais format!');
    }
 
    //Vérifier la somme de contrôle d'un IBAN - code modifié à partir de la classe Validate_Finance PEAR
    if(!$myIban->VerifyChecksum()) {
        array_push($errors, 'IBAN invalide! Erreur checksum!');
    }
 
    //Suggestion ou double suggestion si erreur ça dépend des cas et ça ne fonctionne pas toujours
    $suggestions = $myIban->MistranscriptionSuggestions($iban);
    if (is_array($suggestions)) {
        if (count($suggestions) == 1) {
            array_push($errors, "Vous voulez dire: " . $suggestions[0] . " ?");
        } elseif (count($suggestions) > 1) {
            array_push($errors, "ou peut-être: ");
            $done = 0;
            foreach ($suggestions as $suggestion) {
                if ($done > 0) {
                    array_push($errors, "ou");
                }
                array_push($errors, "'" . $suggestion . "'");
                $done++;
            }
        }
    }
 
    //si pas d'erreurs
    if($myIban->Verify() === true) {
        array_push($valid, "IBAN valide ");//S'il n'y a pas d'erreur
        $pays = $myIban->Country();
        if($pays=="BE") {//si l'IBAN commence par BE
            $ws = new WebService;//Utilisation de ma class WebService
            $bban = $ws->getBelgianBBAN($iban);//je le transforme en BBAN via la methode de ma class WebService
            array_push($valid, 'BBAN: ' . $bban);//je pousse le BBAN dans le tableau de messages valides
        }
    }
 
    //s'il y a des erreurs, je les stock dans une variable $response qui sera envoyée au navigateur
    if(count($errors)) {
        $response = ['errors'=>$errors];
        echo json_encode($response);//j'encode la réponse au format JSON
        exit;
    }
 
    //s'il y a des messages valides je les stock dans une variable $response qui sera envoyée au navigateur
    if(count($valid)) {
        $response = ['success'=>$valid];
        echo json_encode($response);//j'encode la réponse au format JSON
        exit;
    }
 
}
ma class WebService
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
<?php
namespace model;
 
require_once __DIR__ . '/../vendor/autoload.php';
 
use IBAN as Iban;
use SoapClient;
 
class WebService extends Iban
{
    public function getBelgianBBAN($iban)
    {
        $url = "http://www.ibanbic.be/IBANBIC.asmx?WSDL";
        $client = new SoapClient($url);
        $bban = $client->getBelgianBBAN(array('Value' => $iban))->getBelgianBBANResult;
        return $bban;
    }
}
la structure de mon programme
Nom : iban.JPG
Affichages : 262
Taille : 16,8 Ko