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
.