PHP code example of wansh / thinkeasyadmin

1. Go to this page and download the library: Download wansh/thinkeasyadmin library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

wansh / thinkeasyadmin example snippets


#project\app\admin\controller\Category.php
 
namespace app\admin\controller;
 
use easyadmin\app\columns\lists\ListDateTime;
use easyadmin\app\columns\lists\ListImage;
use easyadmin\app\columns\lists\ListText;
use easyadmin\app\libs\ListField;
 
class Category extends \easyadmin\controller\Admin
{
    protected $pageName = '分类';
 
    protected function configListField(ListField $list)
    {
        $list
            ->addField('id', 'ID', ListText::class)
            ->addField('name', '分类名称', ListText::class)
            ->addField('icon', '图标', ListImage::class)
            ->addField('time', '创建时间', ListDateTime::class);
    }
 
}

#project\app\admin\controller\Category.php
 
namespace app\admin\controller;
 
use easyadmin\app\libs\PageForm;
use easyadmin\app\columns\form\FormSelect;
use easyadmin\app\columns\form\FormSwitch;
use easyadmin\app\columns\form\FormText;
use easyadmin\app\columns\form\FormTextarea;
use easyadmin\app\columns\form\FormUpload;
 
class Category extends \easyadmin\controller\Admin
{
 
    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            ->addField('parent_id', '上级分类', FormSelect::class, [
                'table' => 'category',
                'pk' => 'id',//使用查询,的主键
                'property' => 'name',//查询显示字段
            ])
            ->addField('name', '分类名称', FormText::class)
            ->addField('icon', '分类图标', FormUpload::class)
            ->addField('intro', '分类简介', FormTextarea::class)
            ->addField('is_del', '是否删除', FormSwitch::class);
 
        if ($this->formType == 'edit') {
            //编辑页面特有的字段
            $page->addField('edit_field', '名称', FormText::class);
        }else{
            //添加页面特有的字段
            $page->addField('add_field', '名称', FormText::class);
        }
 
    }
}

#project\app\admin\controller\Category.php
 
namespace app\admin\controller;
 
use easyadmin\app\libs\PageForm;
use easyadmin\app\columns\form\FormText;
 
 
class Category extends \easyadmin\controller\Admin
{
 
    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            ->addField('name', '分类名称', FormText::class,[
 
                '              ->addRule('reg', '请输入 重庆', '/^重庆$/') // 使用正则自定义验证规则
 
                // 2. 声明匿名函数验证
                // 验证正确 返回 true  错误返回错误提示  注: 正必须是 返回 true
                'verify' => function ($val) {
                    if ($val != '583161908') {
                        return 'QQ 群是 583161908, 请输入: 583161908';
                    }
                    return true;
                }
            ]);
 
    }
}

#project\app\admin\config\login.php
 
 
 
// +----------------------------------------------------------------------
// | 登录注册相关配置
// +----------------------------------------------------------------------
 
return [
 
    // 无权访问拦截地址
    'no_access_url' => env('manage_login_url', '/admin/login/no_access'),
 
    // 路由访问限制
    // 如果配置一个 空数组, 表示不验证权限,直接访问
    //
    // anonymous 表示可用匿名访问, 不登录
    // login     表示登录后可用访问
    // other     表示需要指定的权限可以访问 (直接写自己定义的权限名称)
    //
    'rules' => [
        '^/admin/*' => 'login',
        '^/admin/login/.*' => 'anonymous',
 
        // 为了方便演示,首页不用登录,其他页面都需要登录
        '^/admin/index/' => 'anonymous',
 
        // ... 其他路由规则,权限配置,在这里增加就好了
    ]
 
];

if( User::getInstance()->hasRole('role_super') ){
    // 超级管理员才显示菜单
    // 超级管理员才显示字段
    // 超级管理员才执行某段逻辑
    // ...
    // ...
    // 根据自己逻辑干就完了
}