cybercog/laravel-service-provider

此包已被 放弃 并不再维护。未建议替代包。

Laravel 5 包的服务提供者

1.1.0 2017-03-21 18:42 UTC

This package is auto-updated.

Last update: 2020-01-28 19:43:36 UTC


README

基本的带实用函数的服务提供者模拟,以加快包部署。

项目未维护

我们公司已停止支持此包,并开始使用干净的Laravel服务提供者,因为它们能够 执行迁移而无需发布

安装

使用composer简单安装服务提供者包

composer require cybercog/laravel-service-provider

用法

在您的包中创建服务提供者并扩展此提供者。

<?php

namespace Vendor\Package;

use Cog\ServiceProvider\BaseServiceProvider;

class ServiceProvider extends BaseServiceProvider
{
    public function boot()
    {
        $this->setup(__DIR__)
             ->publishMigrations()
             ->publishConfig()
             ->publishViews()
             ->publishAssets()
             ->loadViews()
             ->loadTranslations()
             ->mergeConfig('package');
    }
}

迁移占位符

要创建迁移,可以添加常用的Laravel迁移文件并将它们放置在包的 database/migrations 目录中。

迁移文件具有特定的命名约定 0001_create_my_table.stub

  • 前4位数字是必须的,以保存迁移文件的顺序时间。 这是对以下情况的一种修复,当您的迁移尝试使用其他包的表时,这些表位于您的迁移之后,因为名称中的静态时间戳和排序不是按照发布日期,而是按照迁移开发日期。
  • 文件名是类名转换为 snake_case(如Laravel中的迁移惯例)。
  • 扩展名 .php 被替换为 .stub,以防止包和应用程序迁移目录中的类名冲突。

当您发布迁移时

  • 前缀数字被转换为当前时间戳。
  • 扩展名被交换为 .php
  • 准备好的迁移文件移动到应用程序的迁移目录。