本曾闹矣成千上万,关于咋样支付 Laravel
扩张包的篇章。但是多作品写的无比过片面,不够完整,而且自己在其实开展付出扩充包之时段,仍旧遭遇了不少底问题,我拿温馨之开经历,以及境遇的题目记录下来,分享给我们。

壮大包出

1. 创办新路,先导化扩张包配置

第一创造一个新的 Laravel 项目:

composer create-project laravel/laravel laradmin -vvv

连着下去当那么些项目被,创建目录 packages/{your_name}/{your_package_name}

mkdir -p packages/angkee/laradmin

进去扩张包目录,起头化 composer 配置

cd packages/angkee/laradmin
composer init

composer init

施行下,项目下生成一个 composer.json 文件:

{
    "name": "angkee/laradmin",
    "description": "Laradmin is a laravel package for can be generated fast backend management panel",
    "license": "MIT",
    "authors": [
        {
            "name": "angkee",
            "email": "angkee@qq.com"
        }
    ],
    "require": {}
}

2. 创制扩展包为主目录、文件

相似情状下,大家会创以下文件及目录:

angkee/laradmin
├── src  #存放扩展包所有的逻辑代码
├── tests # 存放测试用例
├── README.md
├── composer.json
└── LICENSE

3. 窜扩大包 composer 配置

下一场,修改者扩张包被之 composer.json 文件,设置一下 composer
的自动加载配置、以及扩展包之命名空间。

{
    ...,
    "autoload": {
        "psr-4": {
            "Angkee\\Laradmin\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Angkee\\Laradmin\\Tests\\": "tests/"
        }
    },
    ...
}

4. 编辑扩大包逻辑代码

搭下去,大家来创造 AdminServiceProvider.phpAdmin.php 文件。

<?php

namespace Angkee\Admin;

use Illuminate\Support\ServiceProvider;

class AdminServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        $this->app->singleton('admin', function () {
            return new Admin;
        });
    }
}

<?php

namespace Angkee\Admin;

class Admin
{
    public function printRunning()
    {
        echo 'running';
    }
}

这时候,这多少个增添包算是出好了,接下去我们起初举行本地安装、测试。

恢宏包本地测试

AdminServiceProvider 添加到路之 config/app.php providers 数组中

'providers' => [
    ...,
    Angkee\Admin\AdminServiceProvider::class,
],

复修改项目下之 composer.json 文件

{
    "require": {
        ...,
        "angkee/laradmin": "dev-master"
    },
    ...,
    "autoload": {
        ...,
        "psr-4": {
            ...,
            "Angkee\\Admin\\": "packages/laradmin/src/"
        }
    },
    ...
}

运行命令:

composer dump-autoload
composer update

末尾,修改一下 routes/web.php 文件:

Route::get('/', function () {
    app('admin')->printRunning();
});

那儿,我们开辟浏览器访问这种,展现 running,恭喜你,成功了!

扩展包发表

扩大包出、测试成功之后,这多少个时刻就好发表暨 Packagist

1. 提交代码到 GitHub

第一,需要把扩充包的代码提交至 GitHub 上,记录下 GitHub
版本库的地方,注意是 HTTPS

laradmin-github

2. 将扩展包发表暨 Packagist

然后,访问 Packagist
官网
,登录后,点击左边上角Submit按钮,进入发表起始:

packagist-submit

这时候,将 GitHub 版本库的地点填写至 Repository URL 输入框中,然后点击
Submit 提交按钮,一切顺利,可以观察文告成功。

angkee-laradmin

3. 安装代码同步

一旦在
Pakagist达到发表了担保,之后的本更新与代码同步,有一个机制来保管,就是
GitHub
中的风波通报服务,用于代码递交时点一个风波,将代码同步到另外条件中。

Pakagist

添加服务,服务列表中摘 Packagist,首要填写简单件 Packagist 配置消息:

用户称: 注意是 Packagist 上之用户称
Token: 通讯令牌
Domain: 可不用填写

其中 Token 需要到 Packagist
个人设置里面去得。

填写完毕,提交后,记得测试相同不良,完成首不良联袂,成功会提醒音讯。

Okay, the test payload is on its way.

Pakagist

回去Packagist,刷新,应该无更冒出 (Not Auto-Updated)
的唤起,说明并机制就生效,之后每一遍 GitHub 变化,会自行通告并联名。

4. 安装版本信息

本子默认是 dev-master,Composer 包的版号会从 Git 的 tag 中一头过来。

git tag 1.0.0
git push –tag

扩展包刚发表,此服装,可能相会报寻不交安装包之失实,需要稍等一下服务器同步,一般可超越3-5 分钟,假如一切正常,相会到本提示,安装成功!

参考文献

相关文章

网站地图xml地图