Tartalomjegyzék

< Composer

Composer automatikus betöltés

Az automatikus betöltésről

Ha nagyon sok külső könyvtárat használunk, sok include és require utasítást kell használnunk. Ezek fenntartása egy idő után nehézkessé válik.

Az autoloader azért is hasznos, mert csak azokat modulokat tölti be, amelyeket éppen használunk, így kisebb memóriafelhasználást az eredmény.

Ezektől függetlenül a PHP is tartalmaz egy automatikus betöltő függvényt:

spl_autoload_register()

A Composer automatikus fájlbetöltő mechanizmusai.

A files

{
    "autoload": {
        "files": ["lib/Valami.php", "lib/Masr.php"]
    }
}

Ahol szeretnénk automatikusan betölteni:

<?php
require 'vendor/autoload.php';

A classmap

A könyvtárak listáját adjunk, meg, a betöltő megkeresi az kívánt fájlokat.

{
    "autoload": {
        "classmap": ["lib"]
    }
}

PSR-0

A PSR-0 a PHP-FIG csoport által ajánlott szabvány az automatikus betöltéshez. A szabvány szerint névtereket használunk a betöltéshez. A következő szerkezetet kell követni:

\Vendornév\[Névtér\]*Osztálynév

Az osztályokat olyan fájlokba és könyvtárszerkezetbe kell menteni, ami követi a névtereket.

{
    "autoload": {
        "psr-0": {
            "Shape": "src"
        }
    }
}

PSR-4

A PSR-4 szabványban is névterket kell használnunk, mint a PSR-0-ban. A könyvtárszerkezetnek viszont nem kell megegyeznie a névtérrel.

A composer.json fájlban a névtér
jelekre kell végződjön.

{
    "autoload": {
        "psr-4": {
            "Shape\\": "src/Shape"
        }
    }
}

Források