mustafakhaleddev/laravel-atomic

Laravel原子式管理面板

1.0 2019-01-03 13:25 UTC

This package is auto-updated.

Last update: 2024-09-08 07:52:55 UTC


README

atomic

🚀 文档

Atomic Panel的完整文档在这里:这里

💪 支持我

Patreon上支持我,帮助我继续前行。

🔥 入门

Atomic Panel是一款精美设计的Laravel管理面板。旨在让您成为银河系中最高效的开发者,并为您提供引领未来的机会。

要求

  • PHP: ^7.0
  • Laravel: ^5.5

安装

在您的Laravel项目的composer.json中要求此包。这将下载该包

composer require mustafakhaleddev/laravel-atomic

安装AtomicPanel

php artisan atomic:install

config/app.php中添加ServiceProvider

'providers' => [
    /*
     * Package Service Providers...
     */
     App\Providers\AtomicServiceProvider::class,
]

安装时发布的文件

-app
   -Providers
     -AtomicServiceProvider.php
__________________________
-config
     -AtomicPanel.php
__________________________
-public
     -vendor
       -atomic
__________________________
-resources
     -views
        -vendor
          -atomic
__________________________

AtomicPanel

创建管理员用户

php artisan atomic:user

然后打开https://yourwebsite.domain/atomic

授权Atomic

在您的app/Providers/AtomicServiceProvider.php文件中,有一个gate方法。这个授权门控控制对非本地环境中的Atomic的访问。默认情况下,当当前应用程序环境为本地时,任何用户都可以访问Atomic Panel。您可以根据需要自由修改此门控来限制对您的Atomic安装的访问

    /**
     * Register the Atomic gate.
     *
     * This gate determines who can access Atomic in non-local environments.
     *
     * @return void
     */
    protected function gate()
    {
        Gate::define('viewAtomic', function ($user) {
            return in_array($user->email, [
                'atomic@mustafakhaled.com'
            ]);
        });
    }

用法

Atomic Panel是最佳的CRUD工具。它与Laravel模型一起工作。如果您不想使用Laravel模型,您可以创建自己的页面。

⏰ 3步实现最佳CRUD

☝ 第1步

在您的模型中包含AtomicModel特质

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use MustafaKhaled\AtomicPanel\AtomicModel;

class MyModel extends Model
{
    use AtomicModel;
}

☝ 第2步

在模型中覆盖AtomicFields()方法

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use MustafaKhaled\AtomicPanel\AtomicModel;

class MyModel extends Model
{
     use AtomicModel;
     
     public static function AtomicFields()
     {
          return [];   
     }
}

☝ 第3步

注册您的CRUD字段

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use MustafaKhaled\AtomicPanel\AtomicModel;
use MustafaKhaled\AtomicPanel\Fields\ID;
use MustafaKhaled\AtomicPanel\Fields\Text;
use MustafaKhaled\AtomicPanel\Fields\Trix;

class MyModel extends Model
{
     use AtomicModel;
     
     public static function AtomicFields()
     {
          return [
            ID::make('id', 'id'),
            Text::make('Title', 'title'),
            Trix::make('Content', 'content'),
         ];
     }
}

许可证

MIT © Mustafa Khaled