PHP扩展 阅读 7381
PHP扩展 第1章 创建和删除扩展

PHP扩展 第1章 创建和删除扩展

2016-07-30 • lulubin

一、新建 hello-yii2 仓库

1.1、首先在 github 上面新建一个仓库 hello-yii2

https://file.lulublog.cn/images/3/2022/08/iqOk6Q3giqH0y3oQQMVuzHr9IvVUFQ.png?sign=1a1727eda028127846f7909878921eea&t=6afc7a00

1.2、进入 cmd,这里我们切换至 D 盘,下载刚刚创建的 hello- yii2

https://file.lulublog.cn/images/3/2022/08/k4xz5u7MXz330x9m914m9I77Z3mj74.png?sign=15144489ee3e1ac701dff9dd889e4497&t=6afc7a00

二、修改、提交、发布 hello-yii2 仓库

2.1、初始化 composer

方法①、用 cmd 进行初始化。切换到 hello-yii2 目录,初始化 composer

https://file.lulublog.cn/images/3/2022/08/j6FV063JXITTTIJMn330sxixne33ui.png?sign=7872dc7dc3176364eea11417755ba1f1&t=6afc7a00

https://file.lulublog.cn/images/3/2022/08/zg4R3sJ2H77768z8qsRlvd4Jr777Sq.png?sign=0d41dc3c917e6b46250a2c88dd6afdb0&t=6afc7a00

方法②、使用 gii/extension 进行初始化

https://file.lulublog.cn/images/3/2022/08/myuCbbuYcI91AbUA6c91iZbuB6J2x1.png?sign=ff3703acedfa1aa54f2e1f7ae390d143&t=6afc7a00

注:将 gii 生成的文件覆盖到 hello-yii2 文件夹中

2.2、修改 composer.json 文件

https://file.lulublog.cn/images/3/2022/08/sn23e6I06ZzI36LZf40fSs3pN24SZp.png?sign=c1a751baf72a23b0c99bd2c967d8285d&t=6afc7a00

2.3、在 hello-yii2 根目录新建 Hello.php

https://file.lulublog.cn/images/3/2022/08/p2vHB0efhAHTFTj29A9xFBia3tP0Ue.png?sign=51051eded0d81ec592a5502cce0220d7&t=6afc7a00

2.4、修改 hello- yii2/README.md 文件

https://file.lulublog.cn/images/3/2022/08/JRZ11S1119Os1e1Uus6an0U18GIIl1.png?sign=8ed0c61c63b0e21622ef9ca289db2f26&t=6afc7a00

2.5、提交上述修改的文件到 github 仓库

https://file.lulublog.cn/images/3/2022/08/wCGN1m9pN96r76m7jZgNc9m3GANg9a.png?sign=e40c88f3f4c23673c8138408baac22c1&t=6afc7a00

在 github 发布一个初始化版本

https://file.lulublog.cn/images/3/2022/08/lYy4DgGj6zbFH931r603xZXg0FH333.png?sign=eff934d1d06f173c52febf080d5dc672&t=6afc7a00

2.6、发布 到 packagist

Packagist 是 Composer 的默认的开发包仓库。你可以将自己的安装包提交到 packagist,将来你在自己的 VCS (源码管理软件,比如 Github)仓库中新建了 tag 或更新了代码,packagist 都会自动构建一个新的开发包。这就是 packagist 目前的运作方式,将来 packagist 将允许直接上传开发包。

任何在 packagist 上发 布的包都可以直接被 Composer 使用。

① 注册账号

② 点击右上角的 Submit 按钮,之后输入你的 github 仓库地址,点击 check 之后 submit

https://file.lulublog.cn/images/3/2022/08/lMV6E8Vx88yYDd5DZdivG8xOZ59889.png?sign=ab2bbd0a79b53788b783317fdf95ec22&t=6afc7a00

2.7、packagist 自动更新 github 代码

【Webhooks】

https://file.lulublog.cn/images/3/2022/08/DMXqJVE9t3s9yE39rR9ENAemAfAT6X.jpg?sign=08812cd2f9be368f9b8949ec17c820fc&t=6afc7a00

https://file.lulublog.cn/images/3/2022/08/XJiASTSh27UUuXHhB74SaaUAIp22Ia.jpg?sign=effb720a0f28227fd424d53e8b6b795e&t=6afc7a00

【已废弃】

https://file.lulublog.cn/images/3/2022/08/u6Gn676GZg7l6PKgz4Zl6pMMBMTp8w.png?sign=bd75f7af953262ee74b6b5363f994f33&t=6afc7a00

https://file.lulublog.cn/images/3/2022/08/v0lY5ouvxOUujKV0000h50SSNXzleh.png?sign=adaba13b7e685f76a52b35083acba7ec&t=6afc7a00

三、测试

3.1、进入 cmd 切换到 yii 项目

运行 composer require luluyii/hello-yii2:"*"

https://file.lulublog.cn/images/3/2022/08/Fb9AbaO6uZB7gMapNNMlNylWqFubNn.png?sign=5436f8270913699a5eff9cfa57e08ec3&t=6afc7a00

注:下载时候记得看看自己项目根目录的 composer.json 的 "minimum-stability": "dev",是不是dev,若不是则要改

3.2、进入视图页面,输入

https://file.lulublog.cn/images/3/2022/08/V5jt6TU9offoZczFGUg8gQ4I0t4QFT.png?sign=fe025847bda59661a289b7e04c0dc782&t=6afc7a00

3.3、查看效果

https://file.lulublog.cn/images/3/2022/08/cG94GYPM77p473W4ng0wQgu46y4cy0.png?sign=05432da68bbd3697c899d91a08724316&t=6afc7a00

四、删除 yii 扩展

composer remove luluyii/hello-yii2