ahuggins/utilities

用户管理、密码重置、创建用户的Artisan命令

0.1.9 2017-06-02 13:43 UTC

This package is auto-updated.

Last update: 2024-08-28 23:30:13 UTC


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,然后命令会提示你输入正确的信息。

注意:密码字段不会显示输入,以防止有人读取屏幕。就像终端一样,它隐藏了输入的指示,但它是正在工作的。

它会询问nameemailpassword

重置密码

重置密码命令有一个很酷的小功能。以下是使用方法

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部分,我们就可以消除一些仅仅是不便的复制粘贴步骤。