🧱 Arhitectură Modernă în PHP 8.x: Tipuri Stricte, Readonly, Enums & Match
În PHP 8+, codul de producție folosește tipizare strictă (declare(strict_types=1)), promovarea proprietăților în constructor, clase readonly și enumerări native:
<?php
declare(strict_types=1);
enum StatusComanda: string {
case InAsteptare = 'pending';
case Platita = 'paid';
case Expediata = 'shipped';
}
readonly class Comanda {
public function __construct(
public int $id,
public float $total,
public StatusComanda $status = StatusComanda::InAsteptare,
) {}
public function mesajStatus(): string {
return match ($this->status) {
StatusComanda::InAsteptare => "Comanda #{$this->id} așteaptă confirmarea plății.",
StatusComanda::Platita => "Comanda #{$this->id} ({$this->total} RON) a fost plătită.",
StatusComanda::Expediata => "Comanda #{$this->id} este în curs de livrare.",
};
}
}
$comanda = new Comanda(id: 1042, total: 289.90, status: StatusComanda::Platita);
echo $comanda->mesajStatus();
167 funcții afișate
Afișare 9 comenzi
↑ Susechoecho expresie1, expresie2, ...;Afișează unul sau mai multe texte sau valori în pagină.printprint expresie;Afișează un text, la fel ca echo, dar acceptă o singură valoare și returnează 1.printfprintf(string $format, mixed ...$valori): intAfișează un text formatat după un șablon, de exemplu numere cu un anumit număr de zecimale.print_rprint_r(mixed $valoare, bool $returneaza = false): string|trueAfișează conținutul unui tablou sau obiect într-o formă ușor de citit.var_dumpvar_dump(mixed $valoare, mixed ...$valori): voidAfișează tipul și valoarea exactă a unei variabile. Este principalul instrument de depanare.debug_zval_dumpdebug_zval_dump(mixed $value, mixed ...$values): voidAfișează o variabilă ca var_dump, plus detalii interne: numărul de referințe și modul de stocare.show_sourceshow_source(string $filename, bool $return = false): string|boolGhid complet și referință oficială pentru funcția show_source în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.vprintfvprintf(string $format, array $values): intGhid complet și referință oficială pentru funcția vprintf în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.vfprintfvfprintf($stream, string $format, array $values): intGhid complet și referință oficială pentru funcția vfprintf în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Buffer de ieșire 16 comenzi
↑ Susob_start / ob_get_clean / ob_end_flushob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): boolPornește un buffer: tot ce afișezi după el este păstrat în memorie în loc să fie trimis imediat.ob_get_contentsob_get_contents(): string|falseReturnează ce s-a adunat până acum în bufferul de ieșire, fără să îl golească.ob_cleanob_clean(): boolGolește bufferul de ieșire curent, fără să trimită conținutul și fără să îl închidă.ob_end_cleanob_end_clean(): boolAruncă tot conținutul bufferului de ieșire curent și îl închide.ob_flushob_flush(): boolTrimite mai departe conținutul bufferului curent și îl golește, fără să îl închidă.ob_get_flushob_get_flush(): string|falseTrimite conținutul bufferului, îl închide și îl returnează și ca text.ob_get_lengthob_get_length(): int|falseReturnează câți octeți sunt în bufferul de ieșire curent.ob_get_levelob_get_level(): intReturnează câte buffere de ieșire sunt deschise, unul în altul.ob_list_handlersob_list_handlers(): arrayReturnează lista funcțiilor care prelucrează bufferele de ieșire deschise.ob_get_statusob_get_status(bool $full_status = false): arrayReturnează informații despre bufferul de ieșire curent sau despre toate bufferele.ob_implicit_flushob_implicit_flush(bool $enable = true): voidPornește sau oprește trimiterea automată a ieșirii spre browser după fiecare afișare.flushflush(): voidTrimite imediat spre browser tot ce a fost afișat până acum.output_add_rewrite_varoutput_add_rewrite_var(string $name, string $value): boolAdaugă automat un câmp ascuns nume=valoare în formularele (și, opțional, linkurile) din pagina afișată.output_reset_rewrite_varsoutput_reset_rewrite_vars(): boolAnulează toate variabilele adăugate automat în pagină cu output_add_rewrite_var.ob_end_flushob_end_flush(): boolGhid complet și referință oficială pentru funcția ob_end_flush în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.ob_get_cleanob_get_clean(): string|falseGhid complet și referință oficială pentru funcția ob_get_clean în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Variabile 9 comenzi
↑ Susissetisset(mixed $variabila, mixed ...$variabile): boolVerifică dacă o variabilă există și nu are valoarea null.emptyempty(mixed $variabila): boolVerifică dacă o variabilă lipsește sau are o valoare considerată „goală”.unsetunset(mixed $variabila, mixed ...$variabile): voidȘterge o variabilă sau un element dintr-un tablou.list() / [$a, $b] =[$a, $b] = $tablou; ["cheie" => $x] = $tablou; list($a, $b) = $tablou;Desface un tablou în mai multe variabile, într-o singură instrucțiune.define / defined / constantdefine(string $constant_name, mixed $value, bool $case_insensitive = false): boolDefinește o constantă globală (define), verifică dacă există (defined) sau îi citește valoarea după nume (constant).var_exportvar_export(mixed $value, bool $return = false): ?stringAfișează o variabilă ca cod PHP valid, pe care îl poți copia înapoi într-un script.serialize / unserializeserialize(mixed $value): stringTransformă o valoare PHP (tablou, obiect) într-un text care poate fi salvat și refăcut apoi cu unserialize.defineddefined(string $constant_name): boolGhid complet și referință oficială pentru funcția defined în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.constantconstant(string $name): mixedGhid complet și referință oficială pentru funcția constant în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Tipuri și conversii 25 de comenzi
↑ Susis_numericis_numeric(mixed $value): boolVerifică dacă o valoare este un număr sau un text care arată ca un număr.is_int / is_floatis_int(mixed $value): boolVerifică dacă o valoare are tipul int (număr întreg) sau float (număr cu zecimale).is_stringis_string(mixed $value): boolVerifică dacă o valoare este de tip text (string).is_arrayis_array(mixed $value): boolVerifică dacă o valoare este un tablou (array).is_boolis_bool(mixed $value): boolVerifică dacă o valoare este de tip boolean, adică exact true sau false.is_nullis_null(mixed $value): boolVerifică dacă o valoare este null.is_callableis_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): boolVerifică dacă o valoare poate fi apelată ca funcție.gettypegettype(mixed $value): stringReturnează tipul unei variabile, ca text: integer, string, array etc.get_debug_typeget_debug_type(mixed $value): stringReturnează tipul unei valori cu numele moderne (int, float, null) și numele clasei pentru obiecte.intvalintval(mixed $value, int $base = 10): intTransformă o valoare în număr întreg.floatvalfloatval(mixed $value): floatTransformă o valoare în număr cu zecimale (float).strvalstrval(mixed $value): stringTransformă o valoare în text (string).boolvalboolval(mixed $value): boolTransformă o valoare în true sau false, după regulile PHP.settypesettype(mixed &$var, string $type): boolSchimbă direct tipul unei variabile (de exemplu din text în număr întreg).is_objectis_object(mixed $value): boolVerifică dacă o valoare este un obiect.is_scalaris_scalar(mixed $value): boolVerifică dacă o valoare este simplă: int, float, string sau bool.is_iterableis_iterable(mixed $value): boolVerifică dacă o valoare poate fi parcursă cu foreach: un tablou sau un obiect Traversable.is_countableis_countable(mixed $value): boolVerifică dacă o valoare poate fi numărată cu count: un tablou sau un obiect Countable.is_resourceis_resource(mixed $value): boolVerifică dacă o valoare este o resursă deschisă, de exemplu un fișier deschis cu fopen.doublevaldoubleval(mixed $value): floatGhid complet și referință oficială pentru funcția doubleval în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.is_integeris_integer(mixed $value): boolGhid complet și referință oficială pentru funcția is_integer în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.is_longis_long(mixed $value): boolGhid complet și referință oficială pentru funcția is_long în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.is_floatis_float(mixed $value): boolGhid complet și referință oficială pentru funcția is_float în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.is_doubleis_double(mixed $value): boolGhid complet și referință oficială pentru funcția is_double în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.unserializeunserialize(string $data, array $options = []): mixedGhid complet și referință oficială pentru funcția unserialize în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Operatori 3 comenzi
↑ Sus?? / ??= / ?->$x = $a ?? $implicit; $a ??= $implicit; $obiect?->metoda();Operatorii pentru valori care pot lipsi: ?? dă o valoare implicită, ??= o atribuie, ?-> oprește apelul pe null.== / === / != /$a == $b $a === $b $a != $b $a !== $b $a < $b $a <=> $bCompară două valori. == compară valoarea după conversie, === compară și tipul, spune care e mai mare.Operatorul pipe |>$rezultat = $valoare |> functie(...) |> (fn($x) => ...);Trimite valoarea din stânga ca argument funcției din dreapta, ca să scrii transformări în lanț de la stânga la dreapta.
Structuri de control 9 comenzi
↑ Susif / elseif (conditie) { ... } elseif (alta_conditie) { ... } else { ... }Execută un bloc de cod doar dacă o condiție este adevărată.switch / matchswitch (valoare) { case x: ...; break; default: ...; }Alege un bloc de cod în funcție de valoarea unei variabile. match este varianta modernă, mai scurtă.foreachforeach ($tablou as $cheie => $valoare) { ... }Parcurge, pe rând, fiecare element dintr-un tablou.forfor (initializare; conditie; pas) { ... }Repetă un bloc de cod de un număr cunoscut de ori.whilewhile (conditie) { ... }Repetă un bloc de cod cât timp o condiție este adevărată.functionfunction nume(tip $parametru = implicit): tip_returnat { ... return valoare; }Definește o funcție proprie: un bloc de cod cu nume, pe care îl poți apela de oricâte ori.break / continuebreak; break 2; continue; continue 2;break oprește complet o buclă, iar continue sare peste restul pasului curent și trece la următorul.exit / dieexit(string|int $status = 0): neverOprește imediat scriptul. Poate afișa un mesaj înainte sau poate da un cod de ieșire. die este același lucru.diedie(string|int $status = 0): neverGhid complet și referință oficială pentru funcția die în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.
Funcții și apeluri 18 comenzi
↑ SusExpresia match (Succesorul Modern al lui switch în PHP 8)$rezultat = match($valoare) { 1 => 'Unu', 2, 3 => 'Doi sau Trei', default => 'Altceva' };Ghid complet pentru expresia match în PHP 8: comparare strictă (===), returnare directă de valoare, tratarea excepțiilor UnhandledMatchError și ramuri multiple.Argumente Denumite (Named Arguments) în PHP 8htmlspecialchars($text, double_encode: false);Cum transmiți parametri unei funcții după nume în loc de poziție numerică: omiterea parametrilor opționali impliciți și cod auto-documentat.returnreturn expresie;Oprește funcția și trimite înapoi o valoare către codul care a apelat-o.function () use / fn$f = function ($x) use ($y) { return $x + $y; }; $g = fn($x) => $x + $y;O funcție fără nume, salvată într-o variabilă sau dată direct altei funcții. Poate folosi variabile din exterior cu use.yieldfunction nume() { yield valoare; yield cheie => valoare; }Transformă o funcție într-un generator, care produce valorile pe rând, doar când sunt cerute.global / $GLOBALSglobal $variabila;Face vizibilă într-o funcție o variabilă definită în afara oricărei funcții.declare(strict_types=1)declare(strict_types=1);Activează verificarea strictă a tipurilor: o funcție care cere int nu mai acceptă textul „5”.call_user_func / call_user_func_arraycall_user_func(callable $callback, mixed ...$args): mixedApelează o funcție dată printr-o variabilă (nume, closure sau metodă), cu argumentele primite.func_get_args / func_num_argsfunc_get_args(): arrayReturnează, ca tablou, toate argumentele primite de funcția curentă (func_num_args dă numărul lor).function_existsfunction_exists(string $function): boolVerifică dacă o funcție există: una din PHP, dintr-o extensie sau definită de tine.register_shutdown_functionregister_shutdown_function(callable $callback, mixed ...$args): voidÎnregistrează o funcție care rulează la sfârșitul scriptului, inclusiv după exit sau după o eroare fatală.forward_static_callforward_static_call(callable $callback, mixed ...$args): mixedApelează o metodă statică din clasa părinte păstrând clasa curentă pentru static:: (late static binding).forward_static_call_arrayforward_static_call_array(callable $callback, array $args): mixedCa forward_static_call, dar argumentele metodei sunt date într-un tablou.#[\NoDiscard] și (void)#[\NoDiscard("motiv")] function f(): tip { ... } (void) f(); // ignorare intenționatăAtribut care avertizează când rezultatul unei funcții este ignorat. Cast-ul (void) arată că îl ignori intenționat.Closure::getCurrentClosure::getCurrent(): ClosureReturnează închiderea (funcția anonimă) care rulează acum, ca o funcție anonimă să se poată apela recursiv.func_num_argsfunc_num_args(): intGhid complet și referință oficială pentru funcția func_num_args în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.func_get_argfunc_get_arg(int $position): mixedGhid complet și referință oficială pentru funcția func_get_arg în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.call_user_func_arraycall_user_func_array(callable $callback, array $args): mixedGhid complet și referință oficială pentru funcția call_user_func_array în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Clase și obiecte 57 de comenzi
↑ SusOperatorul Nullsafe (?->) în PHP 8$tara = $comanda?->getClient()?->getAdresa()?->tara;Eliminarea verificărilor repetitive de tip !is_null(): cum funcționează operatorul de navigare sigură ?-> pe proprietăți și metode înlănțuite.Constructor Property Promotion în PHP 8public function __construct(public readonly string $nume, private int $varsta) {}Reducerea codului boilerplate în clase: declararea și inițializarea automată a proprietăților direct în semnătura metodei __construct().Atribute Native în PHP 8 (#[Attribute])#[Route('/api/utilizatori', methods: ['GET'])] public function lista(): ResponseÎnlocuirea comentariilor PHPDoc cu metadate native de prim rang în limbaj: cum definești și citești atribute prin Reflection API.Clasa ReflectionExtension (Introspecția Extensiilor în Timp de Rulare)$ext = new ReflectionExtension('curl'); echo $ext->getVersion();Clasa orientată pe obiecte ReflectionExtension: inspectarea versiunii, constantelor, claselor, funcțiilor, dependențelor și setărilor INI ale oricărui modul încărcat în PHP.Vizibilitate Asimetrică în PHP 8.4 (public private(set))public private(set) string $status = 'activ';Noutatea majoră din PHP 8.4: proprietăți cu citire publică și scriere/modificare restricționată privat, eliminând getter-ele boilerplate.Arhitectură Orientată pe Obiecte (OOP) în PHP Modern: Interfețe, Trait-uri și PSR-4interface RepositoryInterface { ... } class Service { use LoggableTrait; ... }Principii SOLID în PHP: cum proiectezi clase curate cu interfețe, compoziție prin trait-uri, dependency injection și structurarea proiectelor cu Composer și standardul PSR-4.class / new / $thisclass Nume { public tip $proprietate; public function metoda() { ... } }Definește o clasă: un șablon pentru obiecte care au date (proprietăți) și funcții proprii (metode).public / private / protectedpublic|protected|private tip $proprietate; public|protected|private function metoda() { ... }Stabilește cine are acces la o proprietate sau metodă: oricine (public), doar clasa (private) sau și clasele copil (protected).__constructpublic function __construct(tip $parametru) { ... }Constructorul este metoda rulată automat la new. Pregătește obiectul cu datele de pornire.extends / parent::class Copil extends Parinte { ... parent::metoda(); }Creează o clasă nouă pornind de la una existentă (moștenire). Clasa copil primește tot ce are părintele.interface / implementsinterface Nume { public function metoda(): tip; } class C implements Nume { ... }O interfață este o listă de metode pe care o clasă promite să le aibă. Clasa le scrie cu implements.abstractabstract class Nume { abstract public function metoda(): tip; }O clasă abstractă nu poate fi instanțiată direct. Servește drept bază pentru alte clase și poate cere metode obligatorii.trait / usetrait Nume { ... } class C { use Nume; }Un trait este un bloc de metode și proprietăți pe care îl poți copia în mai multe clase cu use.static / self::public static function metoda() { ... } NumeClasa::metoda(); self::$proprietate;Membrii static aparțin clasei, nu unui obiect anume. Se apelează cu NumeClasa::metoda(), fără new.constconst NUME = valoare; class C { public const NUME = valoare; } // C::NUMEDefinește o constantă: o valoare cu nume care nu se mai poate schimba. Poate fi globală sau în interiorul unei clase.namespace / usenamespace App\Modele; use App\Modele\Produs;Grupează clasele și funcțiile sub un nume comun, ca să nu se ciocnească cu altele care au același nume.enumenum Nume: string { case A = 'a'; case B = 'b'; }Definește un tip cu un set fix de valori posibile, de exemplu statusurile unei comenzi.readonlypublic readonly tip $proprietate; readonly class Nume { ... }O proprietate readonly poate primi valoare o singură dată, apoi nu mai poate fi modificată.instanceof$obiect instanceof NumeClasaVerifică dacă un obiect este de o anumită clasă, extinde acea clasă sau implementează o interfață.cloneclone(object $object, array $withProperties = []): objectCreează o copie a unui obiect. Fără clone, atribuirea unui obiect copiază doar referința către același obiect.__get / __set / __toString / __call / __invokepublic function __toString(): string { ... }Metode cu nume speciale, care încep cu două linii jos, rulate automat de PHP în anumite situații.get_class / get_parent_classget_class(object $object): stringReturnează numele clasei unui obiect (get_class) sau numele clasei părinte (get_parent_class).get_object_varsget_object_vars(object $object): arrayReturnează proprietățile unui obiect și valorile lor, ca tablou asociativ.method_existsmethod_exists($object_or_class, string $method): boolVerifică dacă o clasă sau un obiect are o metodă cu un anumit nume.property_existsproperty_exists($object_or_class, string $property): boolVerifică dacă o clasă sau un obiect are o proprietate, chiar dacă valoarea ei este null.class_exists / interface_exists / enum_existsclass_exists(string $class, bool $autoload = true): boolVerifică dacă o clasă (class_exists), o interfață sau un enum a fost definit.is_a / is_subclass_ofis_a(mixed $object_or_class, string $class, bool $allow_string = false): boolVerifică dacă un obiect este de o clasă sau o moștenește (is_a). is_subclass_of exclude clasa însăși.spl_autoload_registerspl_autoload_register(?callable $callback = null, bool $throw = true, bool $prepend = false): boolÎnregistrează o funcție care încarcă automat fișierul unei clase prima dată când clasa este folosită.get_called_classget_called_class(): stringReturnează numele clasei pe care a fost apelată metoda statică curentă, ținând cont de moștenire.get_class_varsget_class_vars(string $class): arrayReturnează proprietățile declarate ale unei clase, cu valorile lor implicite, fără să creezi un obiect.get_class_methodsget_class_methods(object|string $object_or_class): arrayReturnează lista numelor metodelor unei clase sau ale unui obiect.get_mangled_object_varsget_mangled_object_vars(object $object): arrayReturnează toate proprietățile unui obiect, inclusiv cele private și protejate, cu numele lor interne.class_aliasclass_alias(string $class, string $alias, bool $autoload = true): boolCreează un nume alternativ pentru o clasă existentă. Ambele nume se referă la aceeași clasă.class_implementsclass_implements($object_or_class, bool $autoload = true): array|falseReturnează interfețele implementate de o clasă sau de un obiect, inclusiv cele moștenite.class_parentsclass_parents($object_or_class, bool $autoload = true): array|falseReturnează toate clasele părinte ale unei clase, de la părintele direct până la cel mai vechi strămoș.class_usesclass_uses($object_or_class, bool $autoload = true): array|falseReturnează trait-urile folosite direct de o clasă (fără cele ale claselor părinte).get_declared_classesget_declared_classes(): arrayReturnează numele tuturor claselor definite în acest moment, din PHP, din extensii și din codul tău.get_declared_interfacesget_declared_interfaces(): arrayReturnează numele tuturor interfețelor definite în acest moment.get_declared_traitsget_declared_traits(): arrayReturnează numele tuturor trait-urilor definite în acest moment.spl_autoloadspl_autoload(string $class, ?string $file_extensions = null): voidImplementarea implicită de autoload: caută în include_path un fișier cu numele clasei scris cu litere mici.spl_autoload_callspl_autoload_call(string $class): voidÎncearcă pe rând toate autoloader-ele înregistrate pentru a încărca o clasă.spl_autoload_extensionsspl_autoload_extensions(?string $file_extensions = null): stringSetează sau citește extensiile de fișier încercate de autoloader-ul implicit spl_autoload.spl_autoload_functionsspl_autoload_functions(): arrayReturnează lista autoloader-elor înregistrate, în ordinea în care sunt încercate.spl_autoload_unregisterspl_autoload_unregister(callable $callback): boolScoate un autoloader din lista celor înregistrate cu spl_autoload_register.spl_classesspl_classes(): arrayReturnează clasele, interfețele și excepțiile oferite de extensia SPL (Standard PHP Library).spl_object_idspl_object_id(object $object): intReturnează un număr unic care identifică un obiect, cât timp acel obiect există.spl_object_hashspl_object_hash(object $object): stringReturnează un text unic care identifică un obiect, cât timp acel obiect există.Property hooks (get / set)public tip $nume { get => expresie; set(tip $valoare) { $this->nume = ...; } }Cod care rulează automat când o proprietate este citită (get) sau modificată (set), fără metode getter și setter separate.new (și new fără paranteze în PHP 8.4)$obiect = new NumeClasa(argumente); new NumeClasa()->metoda(); // PHP 8.4+Creează un obiect nou dintr-o clasă. Din PHP 8.4 poți apela o metodă direct pe new Clasa(), fără paranteze în plus.#[\Deprecated]#[\Deprecated(message: "...", since: "...")]Atribut care marchează o funcție, metodă sau constantă ca învechită: fiecare folosire emite un mesaj E_USER_DEPRECATED.#[\Override]#[\Override] public function metoda() { ... }Atribut care cere ca metoda (sau proprietatea) să suprascrie una din clasa părinte sau din interfață; altfel PHP dă eroare.Obiecte leneșe (newLazyGhost, newLazyProxy)ReflectionClass::newLazyGhost(callable $initializer, int $options = 0): object ReflectionClass::newLazyProxy(callable $factory, int $options = 0): objectCreează un obiect a cărui inițializare (de exemplu citirea din baza de date) rulează abia la prima folosire.trait_existstrait_exists(string $trait, bool $autoload = true): boolGhid complet și referință oficială pentru funcția trait_exists în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.enum_existsenum_exists(string $enum, bool $autoload = true): boolGhid complet și referință oficială pentru funcția enum_exists în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.get_parent_classget_parent_class(object|string $object_or_class): string|falseGhid complet și referință oficială pentru funcția get_parent_class în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.is_subclass_ofis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): boolGhid complet și referință oficială pentru funcția is_subclass_of în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.interface_existsinterface_exists(string $interface, bool $autoload = true): boolGhid complet și referință oficială pentru funcția interface_exists în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.
Erori și excepții 19 comenzi
↑ SusGestionarea Modernă a Erorilor și Excepțiilor în PHP 8: Throwable și Excepțiitry { ... } catch (CustomException $e) { ... } catch (Throwable $t) { ... } finally { ... }Ierarhia Throwable în PHP: diferența dintre Error și Exception, crearea de excepții personalizate pentru logica de business, blocul finally și logging structurat.try / catch / finally / throwtry { ... } catch (TipExceptie $e) { ... } finally { ... } throw new Exception("mesaj");Prinde erorile (excepțiile) apărute într-un bloc de cod, ca scriptul să nu se oprească brusc.Exceptionnew Exception(string $message = "", int $code = 0, ?Throwable $previous = null)Clasa de bază pentru excepții. Extinde-o ca să creezi tipuri proprii de erori pentru aplicația ta.set_error_handlerset_error_handler(?callable $callback, int $error_levels = E_ALL)Înlocuiește tratarea standard a avertismentelor și notificărilor PHP cu o funcție scrisă de tine.set_exception_handlerset_exception_handler(?callable $callback)Setează funcția care rulează când o excepție nu este prinsă de niciun bloc catch.trigger_errortrigger_error(string $message, int $error_level = E_USER_NOTICE): trueGenerează un mesaj de eroare de nivel utilizator (notificare, avertisment, deprecated), ca cele produse de PHP.error_reportingerror_reporting(?int $error_level = null): intSetează ce tipuri de erori raportează PHP (sau doar citește setarea curentă).error_logerror_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): boolScrie un mesaj în jurnalul de erori al serverului sau într-un fișier ales de tine.debug_backtracedebug_backtrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): arrayReturnează lista apelurilor de funcții care au dus până în punctul curent al codului.error_get_lasterror_get_last(): ?arrayReturnează ultima eroare apărută (tip, mesaj, fișier, linie), chiar dacă a fost ascunsă cu @.error_clear_lasterror_clear_last(): voidȘterge informațiile despre ultima eroare, ca error_get_last să returneze din nou null.get_error_handlerget_error_handler(): ?callableReturnează funcția de tratare a erorilor setată cu set_error_handler, sau null dacă nu există.get_exception_handlerget_exception_handler(): ?callableReturnează funcția setată cu set_exception_handler pentru excepțiile neprinse, sau null.assertassert(mixed $assertion, Throwable|string|null $description = null): boolVerifică o condiție care trebuie să fie mereu adevărată și aruncă AssertionError dacă nu este.restore_exception_handlerrestore_exception_handler(): trueGhid complet și referință oficială pentru funcția restore_exception_handler în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.debug_print_backtracedebug_print_backtrace(int $options = 0, int $limit = 0): voidGhid complet și referință oficială pentru funcția debug_print_backtrace în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.user_erroruser_error(string $message, int $error_level = 1024): trueGhid complet și referință oficială pentru funcția user_error în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.restore_error_handlerrestore_error_handler(): trueGhid complet și referință oficială pentru funcția restore_error_handler în PHP (Core): sintaxă, parametri, valoare returnată și exemple practice de cod.assert_optionsassert_options(int $option, mixed $value): mixedGhid complet și referință oficială pentru funcția assert_options în PHP (standard): sintaxă, parametri, valoare returnată și exemple practice de cod.
Analiză Lexicală (Tokenizer) 2 comenzi
↑ Sustoken_get_alltoken_get_all(string $code, int $flags = 0): arrayGhid complet și referință oficială pentru funcția token_get_all în PHP (tokenizer): sintaxă, parametri, valoare returnată și exemple practice de cod.token_nametoken_name(int $id): stringGhid complet și referință oficială pentru funcția token_name în PHP (tokenizer): sintaxă, parametri, valoare returnată și exemple practice de cod.
Nicio funcție găsită în acest modul pentru căutarea ta.Încearcă alt termen sau caută în Hub-ul principal Învață PHP (2.226 funcții).
Întrebări & Exemple de Cod:
Modulul 1: Fundamente, Sintaxă și OOP în PHP 8Ai o nelămurire despre utilizarea comenzii
Modulul 1: Fundamente, Sintaxă și OOP în PHP 8sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.