How does Composer handle dependencies and autoload in PHP projects?
Composer handles dependencies in PHP projects by allowing developers to define required libraries in a `composer.json` file and then automatically downloading and managing these dependencies. Composer also takes care of autoloading classes, making it easier to organize and include external libraries in your project.
// Example composer.json file
{
"require": {
"monolog/monolog": "^1.0"
}
}
```
To autoload classes using Composer, you can use the `vendor/autoload.php` file generated by Composer. This file includes an autoloader that automatically loads classes based on their namespace.
```php
// Autoload classes using Composer
require 'vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// Create a logger
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
// Add records to the log
$log->warning('Foo');
$log->error('Bar');