wamesk/laravel-commands

Laravel 创建命令。

1.1.1 2023-11-20 09:19 UTC

This package is auto-updated.

Last update: 2024-09-20 11:01:03 UTC


README

Laravel 包,用于提供更优秀的 artisan 命令,以创建模型等。

安装

composer require wamesk/laravel-commands 

使用此命令发布配置。

php artisan vendor:publish --provider="Wame\LaravelCommands\LaravelCommandsServiceProvider"

您可以在以下所示 config 文件夹中找到配置。

project
 └─ config
     └─ wame-commands.php

您可以在此处配置包命令

// config/wame-commands.php
<?php
return [
    /* Version of ApiController you want to develop (v1, v2, v3, null) */
//    'version' => 'v1', // Default: null

    /* Typ of id your project is using (options: id (basic integer), uuid, ulid) */
//    'id-type' => 'uuid', // Default: ulid

    /* Enable or disable sorting in migration and model */
//    'sorting' => false, // Default: true

    /* Per page pagination default */
//    'per_page' => 10, // Default: 10

    /* What language mutations should it generate. All will contain EN phrases. */
//    'langs' => ['en'], // Default: en

    /* You can disable commands that wame:make will run. By default, all will run. */
    'make' => [
//        'api-controllers' => false,
//        'events' => false,
//        'lang' => false,
//        'listeners' => false,
//        'migration' => false,
//        'model' => false,
//        'nova' => false,
//        'observer' => false,
//        'policy' => false,
    ],
];

用法

制作命令

此命令将运行以下列出的所有 php artisan 命令。

在命令末尾使用 name 参数运行命令。名称参数是您的模型名称。(例如:User)

php artisan wame:make <name>

运行此命令后,它将询问您是否要创建自定义配置。

Would you like to customize configuration for current model? (yes/no) [no]:
>

您可以选择

如果您选择 否(默认值),它将运行所有命令。注意:请确保您已设置配置文件

如果您选择 ,它将询问您应该运行哪些命令(默认为 是)(示例见下文)

注意:如果您在运行命令时创建自定义配置,它将忽略配置文件中设置为 false 的命令。

Create Model (yes/no) [yes]:
>

模型命令

此命令将创建带有预设方法的基 Model。

可以通过以下配置进行配置。

// wame-commands.php

// Will add HasUuids or Ulids to model depending on id-type
'id-type' => 'ulid', // Other options: id, uuid

// Will add SortableTrait and Sortable interface to class along with $sortable array config
'sorting' => true, // Other option: false

使用以下命令运行此命令

php artisan wame:model

Nova 资源命令

此命令将创建带有预设方法的基 Nova 资源。

可以通过以下配置进行配置。

// wame-commands.php

// Will add SortableTrait and Sortable interface to class along with $sortable array config
'sorting' => true, // Other option: false

使用以下命令运行此命令

php artisan wame:nova

迁移命令

此命令将创建带有预设列的基迁移。

可以通过以下配置进行配置。

// wame-commands.php

// Will add id column depending on id-type
'id-type' => 'ulid', // Other options: id, uuid

// Will add `$table->unsignedInteger('sort')->nullable();` column
'sorting' => true, // Other option: false

使用以下命令运行此命令

php artisan wame:migration

观察者命令

此命令将创建带有预设函数和事件的基观察者。

使用以下命令运行此命令

php artisan wame:model

事件命令

此命令将创建带有预设构造、函数和类的基事件。

使用以下命令运行此命令

php artisan wame:events

监听器命令

此命令将创建基监听器作业。

使用以下命令运行此命令

php artisan wame:listeners

API 控制器命令

此命令将创建带有预设函数、响应和验证的基 API 控制器。它还将创建基模型资源并将其包含在控制器中。

使用以下命令运行此命令

php artisan wame:api-controller

语言命令

此命令将根据配置中定义的语言创建语言文件。

/* What language mutations should it generate. All will contain EN phrases. */
'langs' => ['en'], // Default: en

输出

<?php 

return [
    'label' => 'Users',
    'plural' => 'Users',
    'singular' => 'User',
    'detail' => 'User: :title',

    'create.button' => 'Create user',
    'update.button' => 'Update user',

];

使用以下命令运行此命令

php artisan wame:lang

策略命令

如果您使用serenysoft/nova-permissions 库,则此命令将创建策略。

php artisan wame:policy

工具

命令中使用的函数以及用于您的项目的函数在此处记录。

助手

使用以下方法将此工具包含到您的文件中

use Wame\LaravelCommands\Utils\Helpers;

创建目录

Helpers::createDir() 函数用于在您的项目中创建目录。

它需要一个目录路径参数 (string) 和可选的第二个参数,包含 chmod 规则。

此函数从 app 文件夹开始。

创建和/或打开文件

Helpers::createFile() 函数用于在您的项目中创建文件和/或打开文件。

它需要一个文件路径、名称和扩展名参数 (string) 和可选的第二个参数是模式 (string)。例如:'w' / 'r'。

此函数从 app 文件夹开始。

驼峰式转换器

Helpers::camelCaseConvert() 函数用于转换字符串

它需要一个要转换的字符串参数。

第二个参数是分隔符 (string) (默认: '_')。可选参数。

第三个参数是LowerCase (bool) (默认: false)。可选参数。如果单词应该以小写字母开头,则更改。

示例

$camelCase = Helpers::camelCaseConvert('SuperModel');

return $camelCase; // returns 'super_model'

验证器

本包默认使用的验证器。它通过链式调用函数并获取响应来工作。响应由 wamesk/laravel-api-response 包的函数生成。要更好地了解响应的工作原理,请查看响应包的文档这里

验证函数

这是一个最终函数。总是最后执行。它需要验证的数据和规则。关于规则的文档点击这里

使用示例

$data = ['email' => 'example@gmail.com', 'password' => 'password'];

$validator = Validator::validate($data, [
    'email' => 'email|required|max:255',
    'password' => 'required|string'
]);
if ($validator) return $validator;

在验证错误的情况下,它将返回

{
    "data": null,
    "code": null,
    "errors": {
        "email": [
            "validation.required"
        ]
    },
    "message": null
}

代码函数

此函数在响应中添加内部代码。您可以传递第二个参数来更改消息翻译的前缀。

使用示例

$data = ['email' => 'example@gmail.com', 'password' => 'password'];

$validator = Validator::code('1.2')->validate($data, [
    'email' => 'email|required|max:255',
    'password' => 'required|string'
]);
if ($validator) return $validator;

在验证错误的情况下,它将返回

{
    "data": "1.2",
    "code": null,
    "errors": {
        "email": [
            "validation.required"
        ]
    },
    "message": "api.1.2"
}

状态码函数

此函数在视觉上不会改变响应,但会更改响应的状态码。默认状态码是400 (Bad Request)。如果您想链式调用所有函数,它可以看起来像这样。状态码总是整数。

Validator::statusCode($statusCode)->code($code)->validate($data, $rules);