marothyzsolt/laravel-package-generator

获取包骨架和所有其他来自laravel基础的`make`命令,用于包开发。

0.9 2022-07-30 12:39 UTC

This package is auto-updated.

Last update: 2024-09-29 05:43:21 UTC


README

所有您在日常Laravel应用程序开发工作流程中使用的`make`命令,但用于包!此包仅为此目的创建,以便使包开发尽可能快速和简单。创建一个新的包只需要一个命令(`make:package`),您将得到以下文件结构

.
└── package
    ├── .codecov.yml
    ├── composer.json
    ├── CONTRIBUTING.md
    ├── .gitignore
    ├── LICENSE.md
    ├── phpunit.xml
    ├── readme.md
    ├── src
    │   └── PackageServiceProvider.php
    ├── .styleci.yml
    ├── tests
    │   └── TestCase.php
    └── .travis.yml

安装

composer require marothyzsolt/laravel-package-generator --dev

用法

创建一个包

php artisan make:package

创建一个nova工具

php artisan make:nova

添加一个包

php artisan package:add

如果您已经创建了一个包,或者您想要添加一个仅本地可用的包的修改版本,您可以使用以下命令将您的包添加到您的项目中。它只是简单地将您的包添加到您的项目`composer`仓库,并要求一个本地版本。

此命令由`make:package`自动运行,因此您在创建包后不需要执行它!

保存包凭据

php artisan package:save
				{namespace : Root namespace of the package (Vendor\Package_name)}
				{path : Relative path to the package's directory}

每个`package:*`命令都需要知道包的`namespace`以及包存储位置的相对`path`。因此,每个`package:*`命令默认都有这两个选项。为了避免每次执行`package:*`命令时都输入这两个选项,此命令将您的包凭据保存到缓存中。

删除包凭据

php artisan package:delete

此命令将清除您缓存中存储的所有凭据。

克隆一个包

php artisan package:clone
                {src : Source path of the package to clone}
                {target : Path where it should be cloned in}

克隆命令将指定的存储库或目录克隆到指定的目标。

替换内容

php artisan package:replace 
                {path : The path to a file or directory}
                {--O|old=* : Old strings which will be replaced}
                {--N|new=* : New strings which will be used as replacement}'

replace命令接受一个文件或目录的路径以及不定数量的'old'选项,这些选项将被'new'选项替换。

制作命令

所有这些命令都具有您在正常laravel应用程序中习惯的所有参数和选项!要执行这些命令中的任何一个,只需添加前缀package:

基础

  • channel
  • console
  • event
  • exception
  • job
  • listener
  • mail
  • model
  • notification
  • observer
  • policy
  • provider
  • request
  • resource
  • rule
  • test

数据库

  • factory
  • migration
  • seeder

路由

  • controller
  • middleware

标准Php

以下所有路由仅接受name参数。

  • contract
  • interface(与contract相同)
  • trait

用于创建初始包占位符的命令

  • package:basetest {provider : 包的提供者名称} - 在tests文件夹中创建TestCase
  • package:codecov - 创建.codecov.yml文件
  • package:composer {--author : 包的作者。} {--email : 作者的电子邮件。} - 创建composer.json
  • package:contribution - 创建CONTRIBUTING.md
  • package:gitignore - 创建.gitignore文件
  • package:license {--copyright : 将其放置在许可文件中的公司或供应商名称} - 创建LICENSE.md文件
  • package:phpunit - 创建phpunit.xml
  • package:readme {--author : 包的作者。} {--email : 作者的电子邮件。} - 创建readme.md
  • package:styleci - 创建.styleci.yml
  • package:travis - 创建.travis.yml

测试

运行测试

vendor/bin/phpunit

许可证

MIT许可证(MIT)。请参阅许可文件获取更多信息。