PHP composer - PSR-4 Autoloader [2]

PHP composer - PSR-4 Autoloader [2]

V minulé lekci jsem provedli inicializaci composeru do souboru composer.json. Nyní si ukážeme jak composerem nastavit PSR-4 autoloader (Autoloading).


Mějme v PHP aplikaci třeba tuto strukturu:
Adresář app a v něm soubory Home.php a Contact.php, které používají namespace App\;

Bez autoloaderu tříd, bychom museli provést require:

require __DIR__ . "/app/Home.php";
require __DIR__ . "/app/Contact.php";

 

PSR-4 autoloader

Když však chceme používat autoloader dle specifikace PSR-4, tak nám stačí upravit composer.json:

"autoload": {
    "psr-4": {
        "App\\": "app"
    }
}

 

Následně spustíme
composer dump-autoload -o

Tím se vytvoří soubory pro autoloading a v naší aplikaci pak postačí:
require_once('vendor/autoload.php');

Jak se ti článek líbil?

Komentáře (2)

PUd:l
Ahoj,

chci instalovat něco přes composer a mám chybu:

composer create-project -s dev contributte/apitte-skeleton
-----------
Could not find package contributte/apitte-skeleton with stability dev in a version installable using your PHP
version, PHP extensions and Composer version.

Můžu tu chybu, že mám php8.0 a potřebuji php8.1 nějak ignorovat a přesto provést instalaci?





Hanz
Ahoj,

ano, jednoduše to můžeš vyřešit tímto ignore na verzi php:

composer create-project -s dev contributte/apitte-skeleton --ignore-platform-req=php

Přidat komentář