2025. január 9., csütörtök

Adatbázis kapcsolat létrehozása OOP

Nézzünk még egy lehetőséget az adatbázis kapcsolat lérehozázásra.

<?php

/**Bekapcsolja a szigorú típusellenőrzést, ami azt jelenti, hogy a megadott típusú paramétereknek és visszatérési értékeknek pontosan meg kell felelniük. */

declare(strict_types=1); 

class DatabaseConnection

{

    private mysqli $connection;

    public function __construct(

        private string $host = 'localhost',

        private string $username = 'root',

        private string $password = '',

        private string $database = 'tartalomkezelo',

    ) {

        $this->connect();

    }

    /** connect metódus: Ez a metódus felelős a kapcsolat létrehozásáért: Ellenőrzi, hogy van-e hiba a kapcsolat létrehozásakor, és részletes üzenetet jelenít meg, ha probléma lép fel.

     * Beállítja a karakterkódolást UTF-8-ra, hogy a magyar ékezetes karaktereket megfelelően kezelje.

     */

    private function connect(): void

    {

        $this->connection = new mysqli($this->host, $this->username, $this->password, $this->database);

        // Hibaellenőrzés

        if ($this->connection->connect_error) {

            throw new RuntimeException('Adatbázis-kapcsolati hiba: ' . $this->connection->connect_error);

        }

        // Karakterkódolás beállítása

        if (!$this->connection->set_charset('utf8')) {

            throw new RuntimeException('Karakterkódolási hiba: ' . $this->connection->error);

        }

    }

    /**getConnection metódus:

Ez egy getter, amely lehetővé teszi, hogy más osztályok is hozzáférjenek a létrehozott kapcsolat objektumához.

     */

    public function getConnection(): mysqli

    {

        return $this->connection;

    }

    /**closeConnection metódus:

Lezárja a kapcsolatot, amikor az már nem szükséges, ezzel segítve az erőforrások felszabadítását.

     */

    public function closeConnection(): void

    {

        $this->connection->close();

    }

}

/**Tesztelési blokk:

Ellenőrzi, hogy az osztály megfelelően működik-e.

Siker esetén kiír egy üzenetet.

Hiba esetén a kivétel (RuntimeException) által generált üzenetet jeleníti meg. */

try {

    $db = new DatabaseConnection();

    //echo "Adatbázis-kapcsolat sikeresen létrejött.";

} catch (RuntimeException $e) {

    echo $e->getMessage();

}

 

?>

Nincsenek megjegyzések:

Megjegyzés küldése

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...