composer学习实践

一、基础知识
安装依赖
    composer install 
  • install 命令将会检查锁文件 composer.lock 是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义),如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件
  • 该命令会做两件事情,一是下载项目依赖包到 vendor 目录,二是创建 composer.lock 文件(如果不存在)
添加依赖
  • 方式一
    composer require packagistName
  • 方式二
    • 手动更改添加 composer.json 文件的依赖项 require
    • 执行 composer update [packagistName] 命令进行安装
更新依赖
    composer update [packagistName]
自动加载
  • psr-4 自动加载定义一个从命名空间到目录的映射
  • classmap 是指没有命名空间的类库进行自动加载
  • files 自动加载文件,一般用于公共函数文件
  • 自动加载时需要引入 vendor/autoload.php 文件
  • 当项目添加了没有命名空间的类库文件,要想实现自动加载,需要执行 composer dump-autoload 命令
{
    "require": {
        "nesbot/carbon": "^1.39",
        "larapack/dd":"1.*"
    },
    "autoload": {
        "psr-4": {
            "app\\": "app/"
        },
        "classmap": ["lib/"],
        "files": ["app/common/helpers.php"]
    }
}
发布依赖
  • 发布到 VCS(线上版本控制系统)
  • 发布到 packagist
  • 发布到其他资源库
二、学以致用,创建一个项目

首先创建 composer.json 文件

{
    "name": "phpzs4336/topmdrt",
    "type": "project",
    "require": {
        "nesbot/carbon": "^1.39",
        "larapack/dd":"1.*"
    },
    "autoload": {
        "psr-4": {
            "app\\": "app/"
        },
        "classmap": ["lib/"],
        "files": ["app/common/helpers.php"]
    }
}

分别创建 app 应用目录,lib 类库目录,public 公共访问目录(包含入口文件 index.php)

<?php
	include '../vendor/autoload.php';
	
	use Carbon\Carbon;
	use app\controller\TestController;
	
	//使用自动加载类
	$qr = new QRcode();
	$qr->getQrcode();
	
	echo "<hr>";
	
	//使用命名空间类
	$test = new TestController();
	$test->index();
	
	echo "<hr>";
	
	//使用公共函数
	echo get_rand_str();
	
	echo "<hr>";
	
	Carbon::setLocale('zh');
	$humans = Carbon::now()->subDays(5)->diffForHumans();
	dd($humans);
	

浏览器访问入口文件,结果如下图
img
附:项目代码地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值