如何用composer开发自己的php扩展包
发布时间 - 2019-11-18 00:00:00 点击率:次下面由composer使用教程栏目给大家介绍用composer开发自己的php扩展包的方法,希望对需要的朋友有所帮助!
composer 是PHP用来管理依赖关系的工具
详情可以阅读:https://www.phpcomposer.com/安装 见 https://www.phpcomposer.com/
开发流程
初始化自己的扩展包 composer init
$ composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. Package name (/ ) [administrator/self_composer]: victor/composer-self //包名称-不能大写,否则无效 Description []: composer-self package //描述 Author [victor24680 <490319148@qq.com>, n to skip]://作者 Minimum Stability []: dev //最小稳定版本 Package Type (e.g. library, project, metapackage, composer-plugin) []: library //类型 License []: MIT Define your dependencies. Would you like to define your dependencies (require) interactively [yes]? n //是否定义依赖关系 Would you like to def ine your dev dependencies (require-dev) interactively [yes]? n { "name": "victor/composer-self", "description": "This is a composer-send package", "type": "victor", "license": "MIT", "authors": [ { "name": "victor24680", "email": "490319148@qq.com" } ], "minimum-stability": "dev", "require": {} } Do you confirm generation [yes]? yes
修改自己包的依赖关系,修改内容如下
{
"name": "victor/sendtool-package",
"description": "sendtool package",
"type": "victor",
"license": "MIT",
"authors": [
{
"name": "victor24680",
"email": "490319148@qq.com"
}
],
"minimum-stability": "dev",
"require": {
"php": ">=5.6" //php版本要求
},
"autoload": {
"psr-4": { //加载规范
"App\\": "src/App",
"Contract\\": "src/Contract"
}
}
}编写好源码 见:https://github.com/victor24680/self-composer/tree/master/src
安装测试 composer install
$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Content-Length mismatch, received 37487 bytes out of the expected 2005372 http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date Nothing to install or update Writing lock file Generating autoload files
GitHub上创建composer-self仓库
git init git add . git commit -m "初始自己的组件库" git remote add origin https://github.com/victor24680/self-composer.git git push origin master
Packagist 上提交自己的github创建的composer-self仓库地址
注册地址:https://packagist.org/,提交成功之后,就可以开始下面的测试
测试 ,A目录代表项目根目录
创建一个A目录,然后在项目根目录下执行:composer require victor24680/self-composer dev-master
$ composer require victor24680/self-composer dev-master
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing victor24680/self-composer (dev-master 0935c75): Cloning 0935c75eda from cache
Writing lock file
Generating autoload files
msg('小明','隔壁老王在偷吃!!!');
//输出:【站内消息】发送给:小明|发送内容:【普通消息】隔壁老王在偷吃!!!至此,一个完整的自己的composer组件包,开发完成。
# composer
# 自己的
# 小明
# 老王
# 站内
# 给大家
# 创建一个
# 写好
# 就可以
# 注册地址
# 发送给
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何彻底删除建站之星生成的Banner?
C#如何调用原生C++ COM对象详解
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
Python文件异常处理策略_健壮性说明【指导】
C++时间戳转换成日期时间的步骤和示例代码
linux top下的 minerd 木马清除方法
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
如何在新浪SAE免费搭建个人博客?
jquery插件bootstrapValidator表单验证详解
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
香港网站服务器数量如何影响SEO优化效果?
中山网站制作网页,中山新生登记系统登记流程?
香港服务器选型指南:免备案配置与高效建站方案解析
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
PHP正则匹配日期和时间(时间戳转换)的实例代码
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
JavaScript实现Fly Bird小游戏
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
JavaScript Ajax实现异步通信
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Java垃圾回收器的方法和原理总结
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Python3.6正式版新特性预览
5种Android数据存储方式汇总
智能起名网站制作软件有哪些,制作logo的软件?
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel怎么使用Intervention Image库处理图片上传和缩放
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
Laravel安装步骤详细教程_Laravel环境搭建指南
如何在阿里云服务器自主搭建网站?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel如何实现API速率限制?(Rate Limiting教程)
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何处理异常和错误?(Handler示例)
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
python中快速进行多个字符替换的方法小结
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何在云主机快速搭建网站站点?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】


ine your dev dependencies (require-dev) interactively [yes]? n
{
"name": "victor/composer-self",
"description": "This is a composer-send package",
"type": "victor",
"license": "MIT",
"authors": [
{
"name": "victor24680",
"email": "490319148@qq.com"
}
],
"minimum-stability": "dev",
"require": {}
}
Do you confirm generation [yes]? yes