casperwilkes/laravel-helper_commands

一套实用的 artisan 命令,用于帮助开发、部署,以及快速构建自己的命令。

1.0.0 2019-11-18 00:26 UTC

This package is auto-updated.

Last update: 2024-09-18 11:29:32 UTC


README

这是一个简单的 artisan 辅助命令包,可以帮助简化 laravel 的开发和一些部署工作。它还允许您编写自己的辅助命令。

安装此包后,在 artisan list 下将出现一个新的命名空间 helpermake。使用此包构建的新命令将默认出现在 helper 下,除非命令创建者有其他指定。

目录

安装

要使环境检测器运行,需要几个步骤。

Composer

通过 composer 安装包

composer require casperwilkes/laravel-helper_commands

用法

基础包中包含一些可供使用的命令。

  • clear
    • 此命令用于清除缓存和配置文件
  • build
    • 此命令构建缓存和配置文件
  • refresh
    • 此命令将清除缓存和配置文件,然后重新构建它们
  • db
    • 此命令用于快速导出和重新播种数据库
  • make:command-helper
    • 此命令将构建一个新的辅助命令

回到顶部 ^

清除

清除命令可以帮助您完成几件事情。其最大用途是清除旧的配置文件和缓存。

选项

如果您不提供任何参数运行命令,则默认运行。

  • (-c | --cache)
    • 清除缓存文件
  • {-d | --debug}
    • 导出 debugbar 缓存(如果存在)
  • {-b | --bootstrap}
    • 导出所有优化视图和 bootstrap 缓存
  • {-l | --log}
    • 压缩或删除日志文件
  • {-s | --session}
    • 压缩或删除当前会话
  • {-x | --compress}: [默认]
    • 压缩选项
  • {-a | --all} : [默认]
    • 运行 -cdblsx

参数

  • {delete}: [可选]
    • 用于删除而不是压缩

示例用法

  • 清除所有缓存/配置
$ php artisan helper:clear
  • 清除所有缓存/配置 + 删除日志和会话
$ php artisan helper:clear delete
  • 仅清除 bootstrap 和缓存
$ php artisan helper:clear -bc

回到顶部 ^

构建

构建命令对于发布或查看系统在有所有缓存的情况下如何工作非常有用。

选项

如果您不提供任何参数运行命令,则默认运行。

  • {-c| --cache}
    • 构建系统的所有缓存文件
  • {-r| --route}
    • 构建所有路由缓存文件
  • {-b| --bootstrap}
    • 构建 bootstrap(优化)
  • {-a| --all}: [默认]
    • 运行 -crb

参数

示例用法

  • 构建路由缓存
$ php artisan helper:build -r
  • 构建路由和缓存,但不构建 bootstrap
$ php artisan helper:build -cr

回到顶部 ^

刷新

刷新命令通过运行 BuildClear 命令来快速刷新当前环境。

选项

  • {-a | --all}: [默认]
    • 运行 -bc
  • {-b | --build}
    • 构建并清除所有缓存/配置
  • {-c | --clear}
    • 清除之前的缓存/配置

参数

示例用法

  • 清除并重新构建缓存/配置
$ php artisan helper:refresh
  • 仅清除配置
$ php artisan helper:refresh -c

回到顶部 ^

数据库

db命令执行一系列的db命令。

注意

  • 这些命令在简单选项上运行,如果需要更高级的使用,请使用默认的artisandb命令。
  • 由于这个助手很敏感,与其他助手不同,您必须指定一个选项才能运行它

选项

  • {-f | --fresh}
    • 运行新迁移
  • {-r | --refresh}
    • 刷新数据库和迁移
  • {-w | --wipe}
    • 清除数据库中的表
  • {-s | --seed}
    • 使用所有种子填充数据库
  • {-a | --all}:
    • 运行-rs

参数

示例用法

  • 运行新迁移和种子
$ php artisan helper:db -fs
  • 刷新数据库并运行种子
$ php artsian helper:db -rs
  • 清除数据库,运行新迁移和种子
$ php artisan helper:db -wfs

回到顶部 ^

构建自己的助手

此包包含创建自己的助手命令的简单功能。

构建自己的助手非常简单。助手命令用于创建一个新助手类,以便您可以构建。

注意

  • 这个助手包含在Artisan make域中,而不是helper域中。

命令-助手

选项

参数

  • {name}: [必需]
    • 类的名称。最佳实践是HelperCamelCaseNameCommand

示例用法

要创建一个新的助手,请运行

$ php artisan make:command-helper HelperTestCommand

回到顶部 ^

自定义助手

make:command-helper命令将在./app/Console/Helper目录中生成一个新的、准备好填充的命令。

默认签名是

protected $signature = 'helper:new-command';

就像更新其他命令一样更新此签名,将new-command替换为您的命令名称。使用此实现,无需将新命令注册到Kernel.php,它应该会自动加载。

如果新的助手没有自动加载,您需要更新composer中的自动加载类。

运行以下命令以重建类缓存

$ php composer dumpautoload

创建新类后,它将自动在Artisan中可用。因此,如果您键入php artisan list,在helper命名空间下,您将看到等待的新命令。

 helper
  helper:build           Builds necessary caches for optimization. Runs `-a` flag by default.
  helper:clear           Clears out cached information, compresses sessions and logs. Runs `-a` flag by default. Delete must specifically be set to run.
  helper:db              Runs database migrations and seeds if chosen. Runs `-a` flag by default.
> helper:new-command     Command description
> helper:test            This is a test command
  helper:refresh         Clears out previous optimizations and rebuilds new ones. Runs `-a` flag by default.
 key
  key:generate           Set the application key

此外,当创建此类时,它将在命令的handle方法中自动初始化HelperCommandTrait

助手特性和一些有用的工具一起提供了快速构建自己的助手命令。

回到顶部 ^

辅助特质

助手特性和一些有用的函数一起提供了帮助您轻松构建自定义助手的工具。当生成新的助手命令时,init方法将自动填充到handle方法中。

此初始化方法处理各种不同功能,以帮助启动开发和执行。

函数列表

HelperCommandTrait中的默认函数

Init

Init将

  • 解析签名行以获取参数和选项
  • 使用传入值填充参数数组
  • 使用传入值填充选项数组
  • 设置操作计数
  • 如果传递了$progress,它将初始化一个新的进度条
/**
 * Initializes common properties
 * @param bool $progress Whether to initialize progress bar
 * @return void
 */
protected function init(bool $progress = true): void {}

返回函数列表 ^

getOptions

这是一个混合函数。

  • 如果没有传递任何内容,它将返回所有选项(只是您指定的选项),并删除“默认”选项。
  • 如果传递了选项名称,它将返回该选项的值
  • 如果传递了选项名称,并且值不存在,它将返回默认值,如果没有传递任何内容,则返回null
/**
 * Gets the local options. If key is passed, returns just that value
 * @param string $key Key to parse
 * @param mixed $default Default value to return if key is not found
 * @return mixed|array Single value or array of values
 */
protected function getOptions(string $key = '', $default = null) {}

返回函数列表 ^

getArguments

getOptions一样,这是一个混合函数。

  • 如果没有传递任何内容,它将返回所有参数
  • 如果传递了参数名称,它将返回该参数的值
  • 如果传递了参数名,且对应的值不存在,则返回默认值,如果没有传递任何参数,则返回null
/**
 * Gets the local arguments. If key is passed, returns just that value.
 * @param string $key Key to parse
 * @param mixed $default
 * @return mixed|array Single value or array of values
 */
protected function getArguments(string $key = '', $default = null) {}

返回函数列表 ^

adjustProcs

此方法用于调整进度条的进程(动作)。它将允许您对初始化的进度条添加或减去进程。

在从签名解析选项和参数后设置进程。对于值为真的选项,将向进程属性添加一个进程。如果您想运行额外的处理,并让用户知道,而不必询问更多信息,您可以使用此方法调整进程。

因此,如果您的签名中有3个选项,其中2个返回为真,那么您将有2个进程。

但是,如果您想调整输出以运行额外的处理,并让进度条捕获它,可以使用$this->adjustProcs(2),这将向进度条添加2个额外的进程。

如果您想从进度条中删除一个进程,可以使用$this->adjustProcs(-2)

/**
 * Adjusts the amounts of procs
 * @param int $amount
 * @return void
 */
protected function adjustProcs(int $amount): void {}

返回函数列表 ^

getProcs

此方法返回将要运行当前进程(动作)的数量。

/**
 * Gets the procs
 * @return int
 */
protected function getProcs(): int {}

返回函数列表 ^

finishLine

这是一个纯输出函数,用于显示命令执行所花费的总时间以及进度条的状态。

/**
 * Runs a diagnostic total
 * @return void
 */
protected function finishLine(): void {}

返回函数列表 ^

displayTimer

此方法将显示命令执行所花费的时间。如果您不希望使用进度条,可以使用此方法。

/**
 * Displays an execution timer
 * @return void
 */
protected function displayTimer(): void {}

返回函数列表 ^

delete

此函数将接受一个文件路径,并从文件系统中删除该文件。

/**
 * Removes a file by path
 * @param string $path path to file
 * @return bool
 */
protected function delete(string $path): bool {}

返回函数列表 ^

compress

此方法将接受一个文件路径,并在文件系统中压缩该文件。

/**
 * Compresses a file by path
 * @param string $path path to file
 * @return bool
 */
protected function compress(string $path): bool {}

返回函数列表 ^

setProcs

此函数为命令设置初始进程。您可以直接使用此方法以硬编码的方式设置动作数量。

/**
 * Sets the procs for the progress bar
 * @param int|null $override Hardcode Override value for procs
 * @return void
 */
protected function setProcs(int $override = null): void {}

返回函数列表 ^

进度条前进

这是进度条的原生函数。因为我们初始化属性bar为进度条,所以我们有权访问其方法。

要在命令中前进进度条,请调用此方法。

$this->bar->advance();

返回函数列表 ^

添加您自己的方法

为了将您自己的方法添加到HelperCommandTrait中,您需要发布供应商资产。

回到顶部 ^

发布

发布HelperCommandTrait很容易。运行以下artisan命令将特发布到./app/Console/Helper/Custom目录。

发布命令

使用标签发布

php artisan vendor:publish --tag=helper-commands

特发布后,您可能需要转储composer自动加载器并清除您的缓存。

$ php composer dumpautoload
$ php artisan helper:clear

回到顶部 ^