专栏名称: 狗厂
目录
相关文章推荐
51好读  ›  专栏  ›  狗厂

[译]利用 Composer 的本地加载功能来优化你的扩展包开发工作流

狗厂  · 掘金  ·  · 2018-05-30 09:16

正文

这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍

file 如果你想让你创建的 Laravel 包能在真正的应用程序中试用,可以试着通过本地文件符号链接在本地开发的 Composer 包,这能极大地加速你的开发工作。推荐阅读 Caleb Porzio 的 花式 bash 别名 ,这是一个受 npm link 启发的 bash 别名。 我一直在努力改进我的本地工作流程,以便将 Laravel 软件包从开发中释放出来。我经常发现自己会通过 GitHub repo 安装依赖项,然后一遍又一遍地运行 composer update 。因为懒,所以我更新了一些东西。

我会记录我的工作流程,以开发新的和现有的 Laravel 软件包,并在真正的 Laravel 应用程序中运行全部在本地的它们。

JokerLinly 翻译于 2周前 0 重译 Ellison 审阅

软件包设置

我将引导你从头开始创建一个快速 Composer 包并添加一个服务提供器。 我知道一些软件包开发人员使用样板库作为 PHP 和 Laravel 软件包的起点( 请参阅 Spatie 的 PHP Skeleton 来获取灵感)。 首先,让我们创建一个 Composer 项目示例并与 Laravel 服务提供器挂钩。 本文内容都在我的 ~/code 目录下:
cd ~/code
mkdir example-pkg
cd example-pkg/
mkdir src/
composer init
# Walk through the prompts to init...
在生成 composer.json 文件后,再为自动加载和自动注册服务提供器添加一些内容:
{
    "name": "paul/example-package",
    "authors": [
        {
            "name": "Paul Redmond",
            "email": "[email protected]"
        }
    ],
    "autoload": {
        "psr-4": {
            "ExamplePackage\\": "src/"
        }
    },
    "require": {},
    "extra": {
        "laravel": {
            "providers": [
                "ExamplePackage\\ExamplePackageServiceProvider"
            ]
        }
    }
}

最后,让我们来创建一个 skeleton 服务提供器:

<?php

namespace ExamplePackage;

use Illuminate\Support\ServiceProvider;

class ExamplePackageServiceProvider extends ServiceProvider
{
    public function boot()
    {
        # code...
    }

    public function register()
    {
        # code...
    }
}
JokerLinly 翻译于 2周前 0 重译 Ellison 审阅

查看其他 1 个版本

将软件包链接到 Laravel 项目

既然我们有一个本地的 composer 项目,我们可以使用它开始开发一个新的 Laravel 软件包。创建一个演示用的 Laravel 应用程序,使用本地文件路径链接我们的示例包:







请到「今天看啥」查看全文


推荐文章
程序员技术  ·  HTTPS工作原理和TCP握手机制
7 年前
小学数学  ·  苏教版四年级下册第五单元测试卷
7 年前
开言英语OpenLanguage  ·  没想到Interesting有大坑! 你用对了吗?
7 年前