php 使用composer
之前写过相关的composer,之后碰到了几个朋友问我,我整理了一下,方便自己也方便大家日后查阅~~不玩开源的程序员不是好厨子
1.执行在线安装
curl -sS https://getcomposer.org/installer | php
执行结果如下:
1 2 3 | >> #!/usr/bin/env php All settings correct for using Composer Downloading... >>Composer successfully installed to: /root/composer .phar >>Use it: php composer.phar |
2.要检查 Composer 是否正常工作,只需要通过 来执行 PHAR:
php composer.phar
3. mv composer.phar /usr/local/bin/composer
composer -V
4.安装依赖(进入需要的项目)
(1).创建一个composer.json文件,写入相应的包名和版本号,如
1 2 3 4 5 6 | { "require" : { "monolog/monolog" : "1.0.*" } } |
(2).执行composer install,就进入自动安装,安装完成后会生成一个
composer.lock
文件,里面是特定的版本号名,需要这个文件和composer.json一起提交到版本管理里(如果想更新依赖执行composer update 如果只想更新部分composer update mongolog/monolog)5.配置国内的镜像包
1 2 3 4 5 6 | //设置镜像地址(中国的镜像地址 -g参数表示全局配置) composer config -g repo.packagist composer https: //packagist.phpcomposer.com //设置进程执行超时时间(单位秒) composer config -g process-timeout 600 //查看配置列表 composer config -g -l |
6.程序中需引入自动加载机制
1 | require 'vendor/autoload.php' ; |
7.然后在php中像这样使用就可以了:
1 2 3 | $log = new Monolog\Logger( 'name' ); $log ->pushHandler( new Monolog\Handler\StreamHandler( 'app.log' , Monolog\Logger::WARNING)); $log ->addWarning( 'Foo' ); |
8.以上就引用了一个 monolog/monolog 包,但是如果想添加其他的包例如添加dubbo的开发扩展包
composer require quickj/dubbo-php-client 即可
9.常用的composer包:
名称 | 用途说明 | 说明地址 |
---|---|---|
mashape/unirest-php | 简单易用的HTTP请求库 | 官网地址 |
guzzlehttp/guzzle | 功能强大的HTTP请求库 | 文档 |
hassankhan/config | 轻量级配置加载类,支持多种配置格式PHP, INI, XML, JSON, and YML |
|
desarrolla2/cache | 简单的缓存类,提供多种缓存驱动Apc, Apcu, File, Mongo, Memcache, Memcached, Mysql, Mongo, Redis |
|
hashids/hashids | 数字ID生成类似优酷视频ID,支持多语言,支持加盐生成 | 官网地址 |
sika/sitemap | XML网站地图生成器 | |
catfan/medoo | 简单易用数据库操作类 支持各种常见数据库 | 文档 |
rize/uri-template | URL生成 | |
jdorn/sql-formatter | SQL语句格式化 支持语法高亮 | |
intervention/image | 图片处理,提供对图片的各种操作:获取图片信息,上传,格式转换,缩放,裁剪等等等 | 文档 |
phpmailer/phpmailer | 邮件发送 | |
phpoffice/phpexcel | excel操作类 | 文档 |
league/route | 路由调度 | 文档 |
willdurand/jsonp-callback-validator | JSONP callback参数验证 防止XSS攻击 | |
michelf/php-markdown | PHP markdown 解析 | 官网 |
erusev/parsedown | PHP markdown 解析 | 演示 文档 |
league/html-to-markdown | HTML转markdown | |
monolog/monolog | 日志操作 composer官方就是用它做例子 | 文档 |
phpcollection/phpcollection | PHP 集合操作 | 文档 |
seld/jsonlint | JSON 语法检查 | |
geoip2/geoip2 | IP地理位置信息 | |
league/csv | CSV操作类 | 例子 |
jalle19/php-whitelist-check | IP/网址黑白名检查 支持模糊匹配 | |
shark/simple_html_dom | php解析html类库 | 文档 |
naux/auto-correct | 自动给中英文之间加入合理的空格并纠正专用名词大小写 |
就是这样easy,动起手来,一起high~~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· .NET 阻止Windows关机以及阻止失败的一些原因
· 博客园2025新款「AI繁忙」系列T恤上架
· Avalonia跨平台实战(二),Avalonia相比WPF的便利合集(一)
· C# LINQ 快速入门实战指南,建议收藏学习!
· Redis实现高并发场景下的计数器设计