function_exists în PHP

Verifică dacă o funcție există: una din PHP, dintr-o extensie sau definită de tine.

Sintaxă
function_exists(string $function): bool

Ce face function_exists

function_exists returnează true dacă o funcție cu numele dat poate fi apelată. Numele nu ține cont de majuscule. Funcționează și pentru funcțiile din extensii, deci poți verifica dacă serverul are, de exemplu, mb_strlen sau curl_init.

În teme și pluginuri WordPress este folosită pentru a defini o funcție doar dacă nu a fost deja definită de altcineva, ca să eviți eroarea Cannot redeclare function.

Pentru construcții ale limbajului, precum echo, isset sau empty, returnează false, pentru că nu sunt funcții.

Parametri

Parametru Descriere
$function Numele funcției, ca text.

Ce returnează

true dacă funcția există, altfel false.

Exemple

Exemplul 1: Funcții din PHP, proprii și construcții

<?php
function formateazaPret(float $p): string { return number_format($p, 2, ",", ".") . " lei"; }

var_dump(function_exists("strlen"));
var_dump(function_exists("FormateazaPret"));
var_dump(function_exists("isset"));
var_dump(function_exists("functie_inexistenta"));

Rezultat

bool(true)
bool(true)
bool(false)
bool(false)

Exemplul 2: Definire doar dacă lipsește

<?php
if (!function_exists("dex_slug")) {
    function dex_slug(string $text): string
    {
        return trim(preg_replace("/[^a-z0-9]+/", "-", strtolower($text)), "-");
    }
}

echo dex_slug("Instalare PHP 8.5 pe macOS");

Rezultat

instalare-php-8-5-pe-macos

Greșeli frecvente

  • Verifici cu function_exists o metodă dintr-o clasă. Funcția caută doar funcții independente; pentru metode folosește method_exists.

Comenzi înrudite