自动管理系统模型生成器

v1.0.04 2022-03-26 09:53 UTC

This package is auto-updated.

Last update: 2024-09-26 15:01:07 UTC


README

Latest Version on Packagist Total Downloads

此工具允许您通过一行命令使用其Jetstream仪表板为Laravel创建一个功能齐全的组件。观看 此视频 了解如何安装和使用。

要求

Automs需要以下3个主要软件包才能正常工作

  1. Laravel框架 ^8
  2. laravel jetstream ^2
  3. livewire ^2

安装

通过Composer

$ composer require "ahmadyousefdev/automs" --dev

我们在Composer安装程序中包含了Jetstreamlivewire

您必须运行以下命令来完成这两个软件包的安装

php artisan jetstream:install livewire
npm install
npm run dev
php artisan migrate
php artisan vendor:publish --tag=jetstream-views

要了解更多关于JetstreamLivewire以及如何正确安装它们的信息,请访问此链接

用法

基本上,您将写入所需的模型名称,然后通过运行此命令由该软件包生成

php artisan automs:create modelName

之后,您可以检查迁移文件,如果一切正常,您应该运行

php artisan migrate

示例

让我们创建一个名为Article的组件,我们只需编写此命令即可完成

php artisan automs:create article

如果我们运行此命令,该软件包将生成以下文件

app/Models/Article.php
app/Http/Controllers/ArticleController.php
database/migrations/timestamp_create_articles_table.php
resources/views/articles/index.blade.php
resources/views/articles/create.blade.php
resources/views/articles/show.blade.php
resources/views/articles/edit.blade.php

然后,它将添加这些路由到routes/web.php

use App\Http\Controllers\ArticleController;
Route::group(['prefix' => 'articles', 'middleware' => ['auth']], function () {
    Route::get('/', [ArticleController::class, 'index'])->name('articles.index');
    Route::get('/create', [ArticleController::class, 'create'])->name('articles.create');
    Route::post('/submit',[ArticleController::class, 'store'])->name('articles.store');
    Route::get('/id_{id}', [ArticleController::class, 'show'])->name('articles.show');
    Route::get('/id_{id}/edit',[ArticleController::class, 'edit'])->name('articles.edit');
    Route::put('/id_{id}/update',[ArticleController::class, 'update'])->name('articles.update');
    Route::put('/id_{id}/destroy',[ArticleController::class, 'destroy'])->name('articles.destroy');
});

并将此模型的导航链接添加到resources/views/navigation-menu.blade.php

这些文件将根据文章的名称填充数据或具有最小外观,请参阅“如何工作”部分以获取更多详细信息

如何工作?

此软件包有一组内置的laravel组件定义,这些定义与多个名称相关联。当运行命令时,软件包将在其组件列表中搜索所写模型名称。如果找到该名称,它将生成其文件。如果没有找到任何组件,它将生成文件,但不包含可填充字段和迁移行。

内置组件的完整列表可以在此json文件中找到

注意

如果有任何组件中包含文件上传器,它将使用默认的公开磁盘作为存储。转到您的config/filesystems.php以配置存储,或者如果您对现有设置感到满意,可以运行php artisan storage:link将公开路径连接到存储路径。

变更日志

请参阅变更日志以获取最近更改的更多信息。

贡献

请参阅contributing.md以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件ahmedyousefdev@gmail.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT。有关更多信息,请参阅许可证文件

致谢

影响者参考

这两个包启发我们制作了这个包,并且它们提供了更多命令,这使得它们更适合更复杂的应用。遗憾的是,它们目前还不支持Laravel 8或Jetstream。

其他链接