PHP自动加载composer下载的类库

接上篇文章“composer安装第三方类库

方法一:

1.使用命令下载类库

composer require monolog/monolog

2.新建index.php文件

<?php
require __DIR__.'/vendor/autoload.php';
use MonologLogger as Log;

$log = new Log('name');
$log->pushHandler(new MonologHandlerStreamHandler('app.log',MonologLogger::WARNING));
$log->warning('Foo 2.0');

运行php文件

php index.php

打开app.log文件

 方法二: 通过自动加载用自己的php文件或第三方类库

1.新建类库或下载第三方类库

在vendor目录下新建或把下载第三方类库放在该目录(以新建类库为例,vendor/acme文件夹下的Foo类文件

<?php

namespace acme;

class Foo 
{
    
    function test()
    {
        echo "123456";
    }
}

命名空间为“acme”,类名为Foo,命名空间尽量为该类库的文件夹对应的名字

2.在根目录下的composer.json文件添加需要加载的类库,在autoload下添加

{
    "require": {
        "monolog/monolog": "^2.1"
    },
    "autoload": {
        "psr-4":{"acme\":"vendor/acme/"}
    }
}

"acme\": "vendor/acme/" (acme为命名空间,vendor/acme 为需要加载的类库对应的文件位置)

3.重新生成vendor/autoload.php文件

添加autoload字段后,使用dump-autoload命令,重新生成vendor/autoload.php文件

composer dump-autoload

  

4.使用类库

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

use acmeFoo;

$d = new Foo;

$d->test();

原文地址:https://www.cnblogs.com/zxf100/p/14089355.html