Laravel 包引入详解

本文详细介绍了Laravel项目中Vendor包的使用,包括模板自带包、自定义安装包、规范包和本地特定包的配置与应用。重点解析了PSR-4规范在包加载中的作用,以及如何在`config/app.php`中设置别名和服务提供者。通过实例,如anlutro/curl和七牛云存储包,阐述了依赖注入和服务注册的流程。
摘要由CSDN通过智能技术生成

Vendor包

找了很多资料,都没有怎么比较详细的说明vendor中的包怎么用,自己试验总结了一下,在此说明。

模板vendor中自带的包

  • 类似于laravel,composer之类的包,模板已经把Provider,aliases之类的写好了,可以直接用,在此不详说了。

  • 别名设置(aliases)在config/app.php中可以找到

自己用composer安装的包

  • 比如在项目中我想用一个封装好的curl类,比如anlutro/curl,那么我们用composer安装好之后,要顺利的用这个类,需要在config/app.php中的aliases数组加上* ‘cURL’ => ‘anlutro\cURL\Laravel\cURL’ *

为什么要这么设置呢,其实涉及到antoload中的psr-4规范,可以看看该例子中的anlutro文件夹中的composer.json

"autoload": {
        "psr-4": {
            "anlutro\\cURL\\": "src/"
        }
    },
  • 这里就说明anlutro\cURL 相当于访问其下的src/下的子目录,所以anlutro\cURL\Laravel\cURL其实就相当于引用anlutro文件夹下的src文件夹下的Laravel文件夹下的cURL.php文件
<?php
/**
 * PHP OOP cURL
 * 
 * @author   Andreas Lutro <anlutro@gmail.com>
 * @license  http://opensource.org/licenses/MIT
 * @package  PHP cURL
 */

namespace anlutro\cURL\Laravel;

use Illuminate\Support\Facades\Facade;

/**
 * cURL facade class.
 */
class cURL extends Facade
{
    public static function getFacadeAccessor()
    {
        return 'anlutro\cURL\cURL';
    }
}

看到这里的代码就不难理解了

  • 在代码中只要use anlutro\cURL\Laravel\cURL即可使用已经定义好的aliases了

其它相对规范的包

  • 这里举一个七牛云的例子

  • 这些包都是非常符合Laravel的依赖注入的思想的,拥有一个服务提供者的类


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值