2024. szeptember 20., péntek

Adatbázis kapcsolat PHP

// HTTP fejléc beállítása a megfelelő tartalomtípussal és karakterkódolással

header("Content-Type: text/html; charset=utf-8");

// Adatbázis kapcsolódáshoz szükséges adatok definíciója

/*A define() egy beépített PHP függvény, amelynek segítségével konstansokat definiálhatunk. Konstansok olyan változók, amelyek értéke egyszerre van meghatározva és nem változik futás közben. Általában nagybetűkkel szokták írni őket, és globálisan elérhetőek a kódban. */

define("DBHOST", "localhost"); // Adatbázis szerver elérési útja

define("DBUSER", "root"); // Adatbázis felhasználónév

define("DBPASS", ""); // Adatbázis jelszó

define("DBNAME", "database_name"); // Adatbázisod neve

másik lehetőség .env fájl használata

A .env fájl egy konfig fájl, környezeti változókat definiálhatunk benne. Ezeket az appunk futás közben olvassa be, és használja beállításokhoz, pl adatbázis kapcsolathoz, API kulcsokhoz, stb. A .env fájl azért hasznos, mert az érzékeny adatokat nem közvetlenül a forráskódban tároljuk, hanem külön fájlban, ami biztonságosabb. */

// .env fájl betöltése a Dotenv könyvtár segítségével

require 'vendor/autoload.php';

//telepíteni kell : composer require vlucas/phpdotenv

/* Létrehoz egy Dotenv objektumot, amely a megadott könyvtárban (általában a projekt gyökérkönyvtárában) keresi a .env fájlt.

Dotenv\Dotenv: Ez a Dotenv osztály teljes névtere és neve. A névtér (Dotenv) segít elkerülni az ütközéseket más osztályokkal.

::createImmutable(DIR): A :: operátor használatával hívjuk a createImmutable statikus metódust a Dotenv osztályban. Ez a metódus egy új Dotenv objektumot hoz létre, amely az aktuális könyvtárban (__DIR__) keresi a .env fájlt.

A :: operátor a PHP-ben az osztályok statikus tagjainak (metódusok, tulajdonságok, konstansok) elérésére szolgál. Ez lehetővé teszi a kód számára, hogy statikus kontextusban működjön, anélkül, hogy szükség lenne az osztály példányosítására.*/

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);

//betölti a .env fájl tartalmát és beállítja a környezeti változókat, így azok elérhetők lesznek az alkalmazásban.

$dotenv->load();

// Beállítjuk a tartalom típusát és karakterkódolását

header("Content-Type: text/html; charset=utf-8");

// Az adatbázis kapcsolati adatok meghatározása környezeti változók használatával.

define("DBHOST", $_ENV['DBHOST']);

define("DBUSER", $_ENV['DBUSER']);

define("DBPASS", $_ENV['DBPASS']);

define("DBNAME", $_ENV['DBNAME']);

// Létrehozza az adatbázis kapcsolatot a mysqli objektum segítségével.

$dbconn = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);

.env fájl tartalma

DBHOST=localhost

DBUSER=root

DBPASS=

DBNAME=database_name

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...