laravel 开发本地扩展包
大家好!我是猪哥,自从zy-editor发布后获得了大家的一致好评!今天来教大家如何开发一个扩展包
首先 在https://gitee.com/ 上面创建一个仓库,然后拉取到本地
点击复制 然后开始拉取仓库 比如我的仓库地址是:https://gitee.com/flydream8/zy-test.git
git clone https://gitee.com/flydream8/zy-test.git
现在我们拉下来的是一个空仓库,我们开始创建 composer.json
进入仓库目录 按照下面提示输入
composer init 的结果解释:
说明地址:https://docs.phpcomposer.com/04-schema.html
https://docs.phpcomposer.com/04-schema.html#authors
https://docs.phpcomposer.com/02-libraries.html
命令解释案例
name项目名称pack/test
description项目描述(不要中文)this is pack test
type安装类型默认为 library (4种类型:library,project,metapackage,composer-plugin)
license许可协议MIT
authors作者{ “name”: “json”,“email”: “json_yin@fionacos.com” }
minimum-stability版本dev、alpha、beta、RC、stable
composer.json 文件生成后,我们用phpstrom 打开项目 创建src目录
如图
src目录下创建Service.php (创建业务执行代码)
代码如下:
<?php namespace Zy; class Service { public function __construct() { } public function hello() { return "hello zy-editor"; } }
下面开始修改 composer.json 添加autoload
{ "name": "zy/test", "description": "zy package test", "license": "MIT", "authors": [ { "name": "燕雀留声", "email": "1551909095@qq.com" } ], "minimum-stability": "dev", "autoload":{ "psr-4":{ "Zy\\":"src/" } }, "require": {} }
注意 autoload Zy 是你定义的命名空间,可以根据自己的需要命名这里只是演示
我们添加完毕后,执行 composer dump-autoload
如图:
然后我们在项目根目录创建一个 test.php 测试下
目录结构如下:
我们的test.php 代码如下:
<?php require_once __DIR__ .'/vendor/autoload.php'; $obj = new \Zy\Service(); $msg = $obj->hello(); var_dump($msg);
我们在命令行下测试下:如图所示
我们可以看到代码已经成功运行,我们定义的 命名空间 Zy 也已经生效
如果没什么问题,把代码推送到gitee远程仓库里,gitignore 设置忽略 vendor, .idea
如果不小心把 .idea 加入了缓存 我们可以使用如下命令清除掉 在add
git rm -rf --cached .idea/
一切工作准备就绪我们开始提交代码 输入
git commit -m "first"
开始提交之前 我们先去gitee 获取仓库地址
点击复制 ,输入如下命令创建远程分支默认是master 下面的仓库地址换成你自己的
git remote add origin https://gitee.com/flydream8/zy-test.git
注意如果你的代码是从远程拉下的这一步可以跳过 直接push即可
空仓库需要执行上面代码
最后push 下就成功了
git push origin -u master
下面我们把包按照到laravel项目中:
在laravel 根目录下 打开 composer.json
在 require 节点下面加入下面代码
"repositories": { "0": { "type": "vcs", "url": "https://gitee.com/flydream8/zy-test.git" }, "packagist": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" } },
然后我们执行 composer require zy/test
zy/test 是你开发扩展包的name名称
可以看到下图我们已经成功把扩展包安装到laravel
接下来就要看各位同学到创造能力了,感谢大家的阅读