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开发环境的搭建,本 ... 
随机推荐
- js处理小数方法
			1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ... 
- PTA (Advanced Level) 1015 Reversible Primes
			Reversible Primes A reversible prime in any number system is a prime whose "reverse" in th ... 
- HDOJ 5019 Revenge of GCD
			Revenge of GCD In mathematics, the greatest common divisor (gcd), also known as the greatest common ... 
- Hudson-ci/Using Hudson/Installing Hudson/Installing Hudson RPM--官方文档
			< Hudson-ci | Using Hudson | Installing Hudson(Redirected from Hudson-ci/Installing Hudson RPM) ... 
- ++i? i++? i+=1? i=i+1? 何必纠结?
			前言 今天在牛客上看面经,看到一个问题:num++; num+=1; num = num +1; 哪个效率最高? 自从学习C语言开始,我就在纠结for语言应该写i++,还是++i,其实这个问题,可以通 ... 
- 【转】IIS网站浏览时提示需要用户名密码登录-解决方法
			打开iis,站点右键----属性----目录安全性----编辑----允许匿名访问钩选 IIS连接127.0.0.1要输入用户名密码的解决办法原因很多,请尝试以下操作: 1.查看网站属性——文档看看启 ... 
- C# Winform程序CPU占用高的原因和解决方法
			程序CPU占用高的可能原因: 1.存在死循环: 为什么死循环会导致CPU占用高呢? 虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下 ... 
- php 在函数前面加个@的作用
			@是错误控制运算符,用屏蔽错误提示比如:@mysql_connect() 不会出现Warning, 而原来mysql_connect 会在页面上访提示Warning.主要是高版本的php不在支持mys ... 
- 图解源码之FutureTask篇(AQS应用)
			所以,FutureTask既可以由Executor来调度执行,也可以由调度线程调用FutureTask.run()直接执行. FutureTask是通过AQS的模板设计模式来实现阻塞get方法的. 从 ... 
- git杂记-远程仓库的使用
			查看远程仓库:克隆自己的仓库,如不命名则默认远程仓库名字为origin: $ git clone https://github.com/OuFeng/JF_WEB.git Cloning into ' ... 
