hichemtab-tech/laravel-project-assist

Laravel-ProjectAssist 是一个针对 Laravel 开发的综合工具包。它包括自定义控制台命令、服务提供者和实用类,这些都可以提高生产率并简化 Laravel 项目开发中的常见任务。凭借详尽的文档和示例,此工具包简化了开发流程。

1.8.1 2023-08-17 22:04 UTC

This package is auto-updated.

Last update: 2024-09-30 02:00:03 UTC


README

Laravel-ProjectAssist 是一个旨在简化和增强您的 Laravel 项目开发过程的综合工具包。此仓库为 Laravel 开发者提供了一个宝贵的资源,提供了一系列实用程序、辅助工具和功能,这些功能简化了常见任务并提高了生产力。

特性

增强的控制台命令

利用一组定制的命令增强您的命令行界面,以加速您的 Laravel 项目工作流程。从脚手架组件到自动化重复性任务,这些命令提高了您的生产率并使开发更加高效。

自定义服务提供者

发现一系列自定义服务提供者,它们可以无缝集成到您的 Laravel 应用程序中。这些提供者扩展了您项目的功能,提供了额外的功能和集成,以简化常见开发挑战。

有用的中间件

探索一系列有用的中间件,它们可以为您的 Laravel 应用程序提供额外的功能。这些中间件可用于增强安全性、提高性能和优化您的项目。

实用类

访问一系列实用类,这些类为 Laravel 开发的各个方面提供了便捷的方法和功能。从日期处理和表单处理到文本操作和日志记录,这些类通过将常见功能封装到可重用的组件中来节省您的时间和精力。

有了 "Laravel-ProjectAssist",您可以加快 Laravel 项目的设置,减少样板代码,并专注于构建健壮且可扩展的应用程序。无论您是开始一个新项目还是想要优化现有的 Laravel 应用程序,"Laravel-ProjectAssist" 都提供了必要的工具和资源,以简化您的开发工作流程并提高整体生产力。

目录

安装

composer require hichemtab-tech/laravel-project-assist

使用

制作器

此库提供以下命令,以方便在您的 Laravel 应用程序中创建各种组件。

仓库制作器

仓库制作器是此库的一个功能,它通过以下命令帮助创建仓库类

php artisan make:repository UsersRepository

此命令生成一个新的类,它扩展了 \App\Repositories\Repository 基类。

仓库类的作用是在特定主题或域下组织一组方法。例如,您可以创建一个 UsersRepository 类,专注于与用户模型和数据相关的操作。

通过利用 UsersRepository 类,您可以方便地将所有与用户相关的功能集中管理在一个统一的结构中。这种方法提高了代码的组织性和可维护性。

请随意利用此功能为您的应用程序中的各种实体创建专门的仓库类,确保职责清晰分离并有效管理相关方法和数据。

特质制作器

特质制作器是此库提供的另一个有用的功能。它简化了可以跨多个类封装可重用功能的特质的创建。

要创建一个特质,您可以使用以下命令

php artisan make:trait MyTrait

此命令生成一个新的特质类,它可以轻松导入并用于您的应用程序中。

特性是一种强大的方法,可以将常见的方法和行为提取到独立的可重用单元中。通过使用特性,您可以避免代码重复并增强代码组织。特性可以应用于多个类,使它们能够继承并使用特性中定义的功能。

利用特性生成器创建特性,用于特定的功能或行为,这些功能或行为可以在您的应用程序中的多个类之间共享。享受特性提供的代码重用性和可维护性的好处。

DataClass 制作器

数据类生成器是本库提供的便捷工具,用于促进数据类的创建。这些数据类充当容器,用于组织数据和在不同组件或应用程序的各个部分之间传递数据。

要创建数据类,您可以使用以下命令

php artisan make:data-class TeamMember

此命令将提示您为数据类添加字段。您有两种添加字段的方法

— 逐个添加字段

您可以通过指定类型和名称来逐个添加字段,使用以下结构:字段类型, 字段名称。例如,您可以输入 string,id 以添加一个名为 'id' 的字符串类型的字段。

— 一次性添加字段

或者,您可以通过在字段定义前加一个斜杠 / 来一次性添加多个字段。例如,您可以输入 /string id, bool good, int number 来添加类型为 string、boolean 和 integer 的字段,分别具有相应的名称。

数据类生成器将生成一个包含提供字段的类,以及用于轻松访问和操作数据的构建器和获取方法。这使得您可以方便地将所有所需的项目数据(如 ProjectData)传递给单个对象,以便在组件中轻松使用。

利用数据类的力量来组织并简化您应用程序中的数据管理和传输。通过使用数据类生成器轻松生成结构化数据类,简化代码并提高可维护性。

Lang 文件制作器

此命令将生成一个与命令中提供的名称相同的 lang 文件,lang 文件将为每个 lang 目录(您的应用程序支持的语言)创建多个副本。

php artisan make:lang validation

例如,如果您的 lang 目录中有以下文件

├── en
│   └── ...
├── fr
│   └── ...
└── ar
    └── ...

创建上述命令生成的 lang 文件后,您将得到以下结构

├── en
│   └── ...
│   └── validation.php
├── fr
│   └── ...
│   └── validation.php
└── ar
│   └── ...
    └── validation.php

因此,此命令将帮助您在应用程序支持的所有语言中创建 lang 文件,而无需在每种语言目录中手动创建 lang 文件的副本。

.env.example 生成器

在开发过程中,您可能会频繁更改 .env 文件,并且在每个发布中,您可能需要创建一个 .env.example 文件来了解如何处理您的新环境,但是手动创建它很困难且耗时,但是使用此命令将自动生成相应的 .env.example 文件。

php artisan env:example

该命令将生成包含 .env 文件中所有键和值的 .env.example 文件,并隐藏具有敏感数据的字段。在 .env 中,您必须使用 #env_hide 后缀标记敏感数据的字段,例如

APP_NAME="My App"
APP_ENV=local
APP_KEY=base64:HnA7smlksdfhqfjlskdjp6bQscsfsdfsgtqsd1oM=#env_hide
APP_DEBUG=true

DB_CONNECTION=mysql
DB_HOST=127.0.0.1#env_hide
DB_PORT=3306#env_hide
DB_DATABASE=laraval_project#env_hide
DB_USERNAME=root#env_hide
DB_PASSWORD=12345678#env_hide

.env.example 文件将按以下方式生成

APP_NAME="My App"
APP_ENV=local
APP_KEY=*****#env_hide
APP_DEBUG=true

DB_CONNECTION=mysql
DB_HOST=*****#env_hide
DB_PORT=*****#env_hide
DB_DATABASE=*****#env_hide
DB_USERNAME=*****#env_hide
DB_PASSWORD=*****#env_hide

自定义

如果您想自定义这些命令文件,可以使用以下命令发布它们

php artisan vendor:publish --provider=HichemtabTech\LaravelProjectAssist\ProjectAssistServiceProvider --tag=console

中间件

以下是本库提供的中间件列表

VerifyPassword

此中间件用于在执行操作之前验证已验证用户的当前密码。您必须简单地将一个名为 currentPassword 的参数添加到请求中。

将此中间件添加到 Kernel.php 文件中

protected $routeMiddleware = [
    // ...
    'verifyPassword' => \App\Http\Middleware\VerifyPassword::class,
];

然后在您的路由中使用它

Route::post('/edit-profile', function (Request $request) {
    // The current password is valid...
    // continue the profile update
})->middleware('verifyPassword');

自定义

如果您想自定义这些中间件,可以使用以下命令发布它们

php artisan vendor:publish --provider=HichemtabTech\LaravelProjectAssist\ProjectAssistServiceProvider --tag=middleware

许可证

MIT