Bonjour,
pour une connexion PDO, j'ai utilisé le script de rawsrc :

classes/PDO.php :
Code php : 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
?php
 
declare(strict_types=1);
 
namespace classes\PDO;
 
/**
 * TUTORIAL DVP SUR LE CONCEPT MVC : MODÈLE-VUE-CONTRÔLEUR
 * @link https://www.developpez.net/forums/blogs/32058-rawsrc/b7786/developpement-selon-l-approche-mvc-modele-vue-controleur-retour-theorie/
 * @link https://www.developpez.net/forums/blogs/32058-rawsrc/b7804/developpement-selon-lapproche-mvc-modele-vue-controleur-cas-pratique/
 */
class PDO
extends \PDO
{
    /**
     * @var \PDO
     */
    private static $pdo = null;
 
    public function __construct()
    {
        if (self::$pdo === null) {
            self::connect();
        }
        return self::$pdo;
    }
 
    /**
     * @param  string scheme     Ex: mysql pgsql...
     * @param  string $host      Adresse IP du serveur
     * @param  string $database  Nom de la base de données
     * @param  string $user      Nom de l'utilisateur
     * @param  string $pwd       Mot de passe de la connexion
     * @param  string $port      Numéro du port pour la connexion
     */
    private static function connect(string $scheme = DB_SCHEME, string $host = DB_HOST, string $database = DB_NAME,
                                    string $user = DB_USER, string $pwd = DB_PWD, string $port = DB_PORT)
    {
 
        $dsn = "{$scheme}:host={$host};dbname={$database};";
 
        if ((int)($port)) {
            $dsn .= "port={$port};";
        }
 
        try {
            self::$pdo = new \PDO($dsn, $user, $pwd, [
                \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION,
                \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
                \PDO::ATTR_EMULATE_PREPARES   => false
            ]);
        } catch (\PDOException $e) {
            throw $e;
        }
    }

connectdb.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
define('DB_SCHEME','mysql');
define('DB_HOST','localhost');
define('DB_NAME','tickets');
define('DB_PORT','3306');
define('DB_USER','root');
define('DB_PWD','');
include("classes/PDO.php");
use classes\PDO;
$pdo=new PDO();
var_dump($pdo);

ArgumentCountError: PDO::__construct() expects at least 1 parameter, 0 given in C:\wamp64\www\ticket\connectdb.php on line 10
C'est quoi ce message d'erreur alors que __construct() n'attend aucun argument ?