Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.29 KB

autoloading.md

File metadata and controls

31 lines (24 loc) · 1.29 KB

Class autoloading

Since Yii uses Composer to manage packages, it automatically loads classes from these packages without the need to require their file explicitly. When it installs packages, it generates a PSR-4 compatible autoloader. To use it, require_once autoloader /vendor/autoload.php in your index.php entry point file.

You can use autoloader not only for the packages installed, but for your application as well since it's also a package. To load classes of a certain namespace, add the following to composer.json:

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

Where App\\ is a root namespace and src/ is a directory where you have your classes. You can add more source roots if needed. When done, execute composer dump-autoload or simply composer du and classes from the corresponding namespaces will start loading automatically.

If you need development environment specific autoloading that isn't used when executing Composer with --no-dev flag, add it to autoload-dev section instead of autoload.

References