composer 应用【Modern PHP】
composer 遵循PSR准则,解决安装依赖。
安装(linux)
#下载安装脚本 - composer-setup.php - 到当前目录。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
#执行安装过程
php composer-setup.php
#删除安装脚本。
php -r "unlink('composer-setup.php');"
#全局安装
sudo mv composer.phar /usr/local/bin/composer
#改为中国全量镜像(项目composer.josn 尾部添加)
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
项目目录下执行安装依赖:
composer install
安装单个组件:
composer require guzzlehttp/guzzle; #http处理
composer require league/csv; #csv文件处理
#组件安装到 verdor/ 目录中,添加记录到composer.josn和composer.lock文件中。
composer.lock 文件
列出项目中所有的PHP组件,以及组建的具体版本号。其实就锁定了项目,让项目只能使用具体版本的PHP组件。
优点
- 版本统一,代码一致,易于管理
- 降低组件版本差异导致缺陷的风险
缺点
- 不会安装最新的版本
- 若要更新执行 composer update
composer.josn 文件
信息查找、安装和自动加载PHP组件。
自动加载PHP组件
composer下载PHP组件会为项目的所有依赖创建一个符合PSR标准的自动加载器:
<?php
require 'vendor/autoload.php';
其实就是创建 autoload.php的PHP文件,保存在verdor/下。

组件包库地址
实例
扫描一个csv文件中的URL,找出死链。
实现:
扫描CSV文件,查找死链
执行
php ./yii scan/index --argv=url.csv
依次打印出 死链url。

composer私有仓库


创建组件,基于版本控制,托管github;注册Packagist,Submit Packagist->Repository URL->Check,提交到Packagist 即建立组件。
composer 应用【Modern PHP】的更多相关文章
- [laravel] Laravel - composer install
#composer installLoading composer repositories with package informationUpdating dependencies (includ ...
- laravel composer vendor 目录加载类库详细 之后做说明
composer installLoading composer repositories with package informationInstalling dependencies (inclu ...
- Laravel Composer and ServiceProvider
Composer and: 创建自定义类库时,按命名空间把文件夹结构组织好 composer.json>autoload>classmap>psr-4 composer dump-a ...
- 基于Composer Player 模型加载和相关属性设置
主要是基于达索软件Composer Player.的基础上做些二次开发. public class ComposerToolBarSetting { public bool AntiAliasingO ...
- Composer概述及其自动加载探秘
composer概述 一开始,最吸引我的当属 Composer 了,因为之前从没用过 Composer . Composer 是PHP中用来管理依赖关系的工具,你只需在自己的项目中声明所依赖的外部工具 ...
- composer 出现 configuration does not allow connection to http.......
出现这样的问题是,镜像使用的是http,而原地址是需要https,所以配置下关掉https就好了. 我们来个全局设置的方法: composer config -g secure-http false ...
- [Modern OpenGL系列(四)]在OpenGL中使用Shader
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51347440 在上一篇文章中已经介绍了OpenGL窗口的创建.本文接着说如 ...
- [Modern OpenGL系列(三)]用OpenGL绘制一个三角形
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51347008 在上一篇文章中已经介绍了OpenGL窗口的创建.本文接着说如 ...
- [Modern OpenGL系列(二)]创建OpenGL窗口
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51295663 在博主的上一篇文章中已经介绍了OpenGL开发环境的搭建,本 ...
随机推荐
- 一头扎进Spring之---------Spring核心容器----------
1.什么是 IOC/DI? IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建.依赖的代码,反转给容器来帮忙实现.那么必然的我们需要创建 ...
- docker中的命令参数(小白常用)
1 docker run run是最常用的命令,他是docker creat和docker start命令的组合,创建容器并启动它.run的参数比较难理解的是-i 和-t 以及-d,分别说说这三个. ...
- 【c++】友元
c++引入友元的原因 在某些情况下,允许特定的非成员函数访问类的私有成员.在类中以关键字friend开始(只能出现在类定义的内部),声明为友元的可以为类.类的成员函数.普通的非成员函数. 速览 #in ...
- gulp教程之gulp中文API
1.gulp.src(globs[, options]) 1.1.说明:src方法是指定需要处理的源文件的路径,gulp借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入 ...
- 学习Rails之activeAdmin
一.开始ActiveAdmin Active Admin是一个发布在RAILS3中使用的Gem. 1.我们为了快速开始我们对Active Admin的了解,我们首先安装它: 在你GemFile ...
- Bitcoin交易及验证
目录 UTXO 理解 交易的结构 交易的确认 交易验证 逆波兰表示法 使用逆波兰表示法验证交易 UTXO 理解 未花费交易输出: Unspent Transxtion output UTXO---用比 ...
- 个人作业1——个人阅读&提问题
第一部分:结缘计算机 上大学前接触了一些网游,如魔域.DNF等.偶然间朋友介绍了一些辅助软件,当时非常地好奇这些辅助软件是如何制作出来的,就上百度搜索了一些关键词,然后就了解到了易语言.VB.金山 ...
- 一起来做Chrome Extension《搭个架子》
CEF - A simple Chrome Extension development falsework CEF是一个简单的Chrome Extension开发脚手架,它有如下功能: 模块化的结构, ...
- IOS Runtime属性关联实现表格编辑文本
要实现在表格里编辑文本, 表格让我想到了CollectionView,文本让我想起TextView, 做之前想了好久怎么样来获得编辑的是哪个TextView,要获取对应的IndexPath啊,想着之前 ...
- BTREE索引和HASH索引的区别
从本质上理解,BTREE是一种有序树,而hash是无序的.所以最关键的区别在于: 1,BTREE可以用来做范围查询,比如大于,小于,而HASH索引仅在"=","IN&qu ...