fetaciik/laravel-commands-no-nova

Laravel创建命令。

1.0.1 2023-02-02 19:19 UTC

This package is auto-updated.

Last update: 2024-09-30 01:54:32 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

    /* You can disable commands that wame:make will run. By default, all will run. */
    'make' => [
//        'api-controllers' => false,
//        'events' => false,
//        'listeners' => false,
//        'migration' => false,
//        'model' => false,
//        'nova' => false,
//        'observer' => 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

实用工具

命令中使用的函数和项目中的函数在此处有文档说明。

辅助函数

使用以下命令将此实用工具包含到您的文件中

use Wame\LaravelCommands\Utils\Helpers;

创建目录

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

它需要一个目录路径参数(字符串)和可选的第二个参数chmod规则。

此函数从app文件夹开始。

创建和/或打开文件

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

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

此函数从app文件夹开始。

驼峰式转换器

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

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

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

第三个参数是低(布尔值)(默认: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 (错误请求)。如果您想链式调用所有函数,可以像这样操作。状态码始终是整数。

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