composer安装第三方库
生成composer.json
首先需要安装composer,composer -v出现如下,则表明安装成功。

- 编写composer.json
{
"name": "www/test",
"description": "wwwtest",
"authors": [
{
"name": "www",
"email": "example@qq.com"
}
],
"repositories": [
{
"type": "vcs",
"url": "github项目url"
}
],
"version":"1.0.106",
"require": {
"smalot/pdfparser":"1.1.*"
},
"autoload":{
"psr-4":{
"model\\":"src/"
}
}
}
1.name和description是你给这个php项目起的名字,description需要来描述这个包的作用。
2.authors 作者可以有多个
3.repositories相当于需要下载的代码库所在的仓库,默认会有一个全局的仓库,在这里添加一个是因为如果你有个私人的仓库,则可以在这里声明
4.version是版本号(有几种方式:1.确切版本号1.1.1,2.范围版本号>=1.1,<1.2; 3.统配符版本号:1.0.*即,大于1.0小于1.1;4赋值运算版本号,~1.0表示用于匹配>=1.0并且小于2.0的版本)
5.require则通过“name”:"version"声明,可以有多个,require以后使用composer install命令composer会下载代码并自动加载
6.autoload 自动加载类
也可以通过composer init生成一个composer.json

以smalot/pdfparser为例,在包列表 查找对应包的信息。

使用composer install安装
运行composer install,composer会检查composer.json组件的名称和版本,下载到当前文件夹的vendor文件夹。如没当前目录没有vendor文件夹,会在当前目录生成一个vendor目录。下载完成之后会在当前文件夹创建一个名为composer.lock的锁文件。当执行composer install会先检查该文件的版本号,如果存在,
就先下载该文件指定的版本。如果某个组件有了新的版本,需要执行composer update去更新并重新生成新的composer.lock文件。
自动加载机制
composer install 还会在vendor目录下提供一个自动下载文件,在项目中执行require 'vendor/autoload.php'语句引入这个文件。 加载相应的类文件。
自动加载有psr-0,psr-4,classmaphe和file四种规范形式。其中psr-4是最受欢迎的。自动加载规范psr-4的自动加载基于文件夹和命名空间,在composer.json文件中直接添加autoload字段自动实现命名空间到目录的映射。
//根文件夹 lib
//根命名空间 model
//file lib/A.php
namespace model;
class A {
}
//file lib/path/B.php
namespace mode\path;
class B{
}
//file demo.php
$a = new \model\A();
$b = new \model\path\B();
//或者use
//file demo.php
use \model\A;
use \model\path\B;
$a = new A();
$b = new B();
composer安装第三方库的更多相关文章
- composer安装第三方库出现需要认证信息等原因
最近,在学习使用thinkcmf的时候,使用composer安装第三方类库,遇到了需要输入验证码的问题,援引https://laravel-china.org/topics/17893该链接中的讨论, ...
- 【转】安装第三方库出现 Python version 2.7 required, which was not found in the registry
安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...
- 安装第三方库出现 Python version 2.7 required, which was not found in the registry
安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...
- pip安装第三方库以及版本
这篇blog只是写给自己看看的. 今天突然遇到sqlalchemy映射到数据库时,一个字段类型是datetime(6),我这边死活访问不上,之前一直没有问题,最后查明原因,原来是第三方库的版本问题,真 ...
- python_如何快速下载安装第三方库?
如何快速下载安装第三方库? --通过 淘宝源 https://mirrors.aliyun.com/pypi/simple/ 本国网络进行快速安装 如何执行安装命令? pip install Dja ...
- python_如何快速安装第三方库?
如何快速安装第三方库? 通过python 豆瓣园源https://pypi.douban.com/simple/进行安装,利用国内网速 如何安装? pip -i install https://pyp ...
- python安装第三方库
在编写爬虫程序时发现unsolved import 一时不解,以为是ide出问题了,其实是没有安装第三方库导致的. 于是到https://pypi.python.org/pypi/requests/去 ...
- python安装第三方库报错visual c++ 14.0 is required
使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...
- python和anacoda安装第三方库的位置
查看已安装库及版本号,命令行pip list 安装第三方库位置:
随机推荐
- 104. Maximum Depth of Binary Tree(C++)
104. Maximum Depth of Binary Tree Given a binary tree, find its maximum depth. The maximum depth is ...
- Qt经典出错信息之”Basic XLib functionality test failed!”
解决方法: 此完整出错信息是在./configure阶段Basic XLib functionality test failed!You might need to modify the includ ...
- SGU 157.Patience
简单的搜索,在n>10时,要打表 code: #include<stdio.h> #include<string.h> #include<algorithm> ...
- 【BZOJ2281】【博弈论+DP】 [Sdoi2011]黑白棋
Description 黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是 ...
- 你应该了解的5个JavaScript调试技巧
在某些情况下需要更好的工具,下面是其中的一些佼佼者,我敢肯定你会发现它们的有用之处: 1. debugger; 正如我之前提到的,你可以使用“debugger;”语句在代码中加入强制断点. 需要断点条 ...
- PHP 数组转JSON数据(convert array to JSON object);
<?php header('Content-type: appliction/json; charset=shift-JIS'); $data =array(); class Test { pu ...
- php基础知识【函数】(8)xml和变量函数
一.XML函数 参数类型 data --string,需要解析的数据集. parser --resource,一个指向要取得字节索引的 XML 解析器的引用. 1.创建和释放XMl解析器 ...
- 用Web Picasa API搭建站内相册
在flickr时代,为了专门把站内嵌入相册,还专门写了一篇文章把Flickr相册搬回家.flickr被墙之后,我就把个人相册转到了Web Picasa上.用Picasa Web就简单多了,官方提供了S ...
- JS动画理论
动画(Animation) 动画意味着随着时间而变化,尤其指视觉上的变化,包括位置.形态等的变化.运动基本上表现为物体随时间,发生位置上的变化:形态基本表现为大小.颜色.透明度.形状等随时间的变化. ...
- HTML部分标签的含义(2)
1,ul标签,添加新闻信息列表 使用ul标签,信息无先后顺序 这些列表就可以用ul-li标签来完成 语法:<ul> <li>信息</li> <li>信息 ...