class_exists

funkcja

Sprawdza, czy dana klasa jest zdefiniowana. Domyślnie uruchamia zarejestrowane autolodery (np. Composer), jeśli klasa nie jest jeszcze załadowana.

class_exists(string $class, bool $autoload = true): bool

class_exists sprawdza, czy klasa o podanej nazwie jest dostępna. Domyślnie drugi argument $autoload = true powoduje, że PHP uruchomi autoloader (np. skonfigurowany przez Composer z PSR-4) próbując załadować klasę przed odpowiedzią. Jeśli nie chcesz wyzwalać autoloadera — np. sprawdzasz klasę opcjonalną — przekaż false. Funkcja działa tylko dla klas; do interfejsów użyj interface_exists, do traitów — trait_exists.

<?php
declare(strict_types=1);

// Zakładamy autoloader Composera (vendor/autoload.php)

// Z autoloadingiem (domyślnie) — Composer spróbuje załadować klasę:
if (class_exists(\App\Service\PlatnoscService::class)) {
    $serwis = new \App\Service\PlatnoscService();
    $serwis->przetworz();
}

// Bez autoloadingu — tylko sprawdzamy, czy już załadowana:
if (class_exists('OptionalLogger', false)) {
    // Użyj logera tylko jeśli jest dostępny
}

var_dump(class_exists('stdClass'));        // bool(true)  — wbudowana
var_dump(class_exists('BrakKlasy'));       // bool(false)
📘 Naucz się w lekcji →