ahuggins / utilities
用户管理、密码重置、创建用户的Artisan命令
Requires
- illuminate/console: ^5.2
README
命令
- 创建用户
- 重置密码
- 自动服务提供者
基本描述
我在使用Laravel时发现自己在重复做一些很常见的事情。每次做这些事情时,我都会想“应该有更简单的方法来做这件事。”这个Utilities包是我尝试让这些事情尽可能简单,并提供“更简单的方法”。截至2016年6月24日,那只是几个Artisan命令,让本地处理用户更加容易。这可以是一个仅限dev
的包,但如果有人可以访问你的服务器上的Artisan,他们几乎可以随心所欲。
安装
常规操作
composer require ahuggins/utilities
安装完成后,将以下内容添加到你的config/app.php
文件中的providers数组中
注意,在Laravel 5.5+中,这应该会自动安装。
AHuggins\Utilities\Providers\UtilityServiceProvider::class,
创建用户
创建用户命令相当简单。假设你已经设置了Laravel的数据库连接,你只需运行
php artisan utils:create-user
,然后命令会提示你输入正确的信息。
注意:密码字段不会显示输入,以防止有人读取屏幕。就像终端一样,它隐藏了输入的指示,但它是正在工作的。
它会询问name
、email
和password
。
重置密码
重置密码命令有一个很酷的小功能。以下是使用方法
php artisan utils:pw
如果你运行这个命令,它会显示你的用户表中的用户列表。我想象这个命令更多地用于开发,所以预计你的数据库中只有少数测试用户(我展示了所有用户,这可能有点繁琐)。然后命令会要求你输入想要更改密码的用户ID。输入id,按回车。然后它会要求你输入密码(就像创建用户命令一样,输入是隐藏的,但它是正在工作的),完成输入,按回车。
现在,如果你已经知道你想要编辑的用户ID。只需使用以下命令
php artisan utils:pw 1
其中1
被你想要编辑的用户ID替换。
自动服务提供者(进行中)
我正在尝试添加其他包作者自动化将相关类路径添加到config/app.php中的providers和aliases数组的步骤。
截至2016年6月24日,此命令将不会工作。
基本上,我在想如果他们把ahuggins/utilities
包作为他们的包的依赖项,并在他们的src
目录根目录下有一个名为config.php的文件,内容如下
<?php
namespace AHuggins\Utilities;
use AHuggins\Utilities\ProviderConfig;
class Config extends ProviderConfig
{
protected $providers = [
'providers' => [
AHuggins\Utilities\Providers\UtilityServiceProvider::class,
],
'aliases' => [
'Util' => AHuggins\Utilities\Console\Commands\AddProviders::class,
]
];
}
显然,你需要更新包的命名空间以及$providers
数组的内容。但我构建的命令将能够从config.php文件中获取值。然后,使用composer.json文件中的composer scripts部分,你可以告诉Composer在安装后执行一个命令(我正在构建的命令)。然后,该命令将获取值并更新适当的数组,检查重复项。
我看到的初步问题是,如果ahuggins/utilities包未安装,那么你必须手动添加它以获得这种便利。这可以很容易地集成到核心Laravel中,这样就不会有问题,但我希望找到一个简单的方法来解决这个问题。
看起来是一件小事情,但却是安装软件包时可以减少的一种繁琐的操作。这将是Laravel特有的,但如果其他软件包也像在他们的仓库中添加config.php文件一样添加composer.json部分,我们就可以消除一些仅仅是不便的复制粘贴步骤。