PHPackages                             xiaosongshu/closure-table - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. xiaosongshu/closure-table

ActiveLibrary

xiaosongshu/closure-table
=========================

"测试发布一个laravel插件"

v1.1.3(2y ago)030MITPHPPHP &gt;=7.0

Since Jul 28Pushed 2y ago1 watchersCompare

[ Source](https://github.com/2723659854/closure-table)[ Packagist](https://packagist.org/packages/xiaosongshu/closure-table)[ RSS](/packages/xiaosongshu-closure-table/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (15)Used By (0)

### 扩展包开发

[](#扩展包开发)

#### 创建一个packages的目录

[](#创建一个packages的目录)

在项目的根目录下面创建一个packages目录，用来存放需要开发的扩展包。

#### 文件目录

[](#文件目录)

第一层是开发者的名称，比如xiaosongshu，第二层是扩展包的名称，比如closure-table。
所有的文件都放在/xiaosongshu/closure-table/src目录下面。

#### 生成composer.json配置文件，

[](#生成composerjson配置文件)

进入/xiaosongshu/closure-table/目录下，执行composer init命令，生成扩展初始化配置。 会自动生成src目录，生成vendor目录，生成composer.json目录。

#### 编程

[](#编程)

所有要写的功能代码，服务提供者都放在src目录下。

#### 配置文件

[](#配置文件)

首先在src下面创建config目录，然后创建closure-table.php 配置文件，里面写初始化的配置数据。

#### 扩展文件的服务类

[](#扩展文件的服务类)

这个是提供原始功能的方法，在src下面，创建ClosureTable类，里面可以写我们需要的任意方法。 这个类是整个扩展的核心功能模块，是必须的。

#### 创建插件的命令行

[](#创建插件的命令行)

创建TalkCommand,继承Illuminate\\Console\\Command，然后里面写你的命令行需要实现的业务逻辑。

#### 创建服务提供者

[](#创建服务提供者)

创建服务提供者，ClosureTableServiceProvider.php 需要继承Illuminate\\Support\\ServiceProvider类。
这个类是用来注册服务类的。
1，发布配置
2，注册命令行的
3，注册服务并设置别名
4，设置服务延迟加载

#### 创建门面操作类

[](#创建门面操作类)

创建SongShu.php 继承Illuminate\\Support\\Facades\\Facade，里面只需要写一个方法getFacadeAccessor
返回值必须是服务提供者里面绑定服务的时候设置的别名。

#### 设置composer里面的服务提供者和门面类

[](#设置composer里面的服务提供者和门面类)

其中，autoload这个是自动加载项，必须符合PSR-4规范。当我们引入Xiaosongshu\\ClosureTable\\的时候，会 自动定位到src目录。里面的files表示需要自动引入的文件，通常用来放助手函数的。

```
"autoload": {
        "psr-4": {
            "Xiaosongshu\\ClosureTable\\": "src/"
        },
        "files": [
            "./src/helper.php"
        ]
    },
```

关于服务提供者的配置

```
"extra": {
        "laravel": {
            "providers": [
                "Xiaosongshu\\ClosureTable\\ClosureTableServiceProvider"
            ],
            "aliases": {
                "SongShu": "Xiaosongshu\\ClosureTable\\Facades\\SongShu"
            }
        }
    }
```

必须有extra目录，然后指定到laravel。其中providers这个数组就是自动注册服务提供者，里面 的每一个元素都是具体的服务提供者的名称，aliases实际上是门面操作类，前面注册的服务提供者，不需要使用 app(服务者名称)的方式调用，可以直接静态化方法的调用。

#### 关于服务提供者和门面类

[](#关于服务提供者和门面类)

如果不在composer.json 配置extra，那么就要手动把服务提供者写入到项目的config/app.php的provider数组里面去， 否则无法注册服务。
如果不在composer.json 配置aliases，那么如果要使用门面类，就要手动把门面类添加到config/app.php 下面的aliases数组里面去。

#### 关于命名空间

[](#关于命名空间)

这个命名空间不能乱写的，在src目录下面，有一层目录才有一层命名空间，否则会出现找不到类的问题。 命名空间和文件目录必须严格对应。

#### 发布配置文件

[](#发布配置文件)

```
php artisan vendor:publish --provider="Xiaosongshu\ClosureTable\ClosureTableServiceProvider" --force
```

这个命令的作用是将配置文件复制到项目的config目录下面的。

#### 关于composer.json文件中的脚本scripts

[](#关于composerjson文件中的脚本scripts)

参考文件：

#### 删除暂存区的文件 git rm --cached packages/xiaosongshu/closure-table

[](#删除暂存区的文件-git-rm---cached-packagesxiaosongshuclosure-table)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

14

Last Release

1013d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/17f593cfd6a2e0845ea319086175a4d2173229dd598bf9f67575911fb3497f2b?d=identicon)[2723659854](/maintainers/2723659854)

---

Top Contributors

[![2723659854](https://avatars.githubusercontent.com/u/43638463?v=4)](https://github.com/2723659854 "2723659854 (16 commits)")

### Embed Badge

![Health badge](/badges/xiaosongshu-closure-table/health.svg)

```
[![Health](https://phpackages.com/badges/xiaosongshu-closure-table/health.svg)](https://phpackages.com/packages/xiaosongshu-closure-table)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
