laravel-admin的3个开发细节调整

这篇具有很好参考价值的文章主要介绍了laravel-admin的3个开发细节调整。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在使用laravel-admin开发的过程中,根据官方开发文档Laravel admin | laravel-admin基本都能实现想要的效果,这里补充3个文档上没有描述的细节

Laravel8命令行创建控制器调整


在laravel-admin中可以使用php artisan admin:make UserController --model=App\User命令创建后台控制器,后面的--model是绑定的模型,它会根据model对应表的字段,默认构建出所需的grid,form和show三个页面的代码,但是由于laravel8模型额目录不再是App,而是App\Models,所以命令后面的模型路径也要修改为php artisan admin:make UserController --model=App\Models\User,否则会报错The "--model" option does not exist.

全局model时间格式设置


方法一:使用默认时间格式

如果想使用默认的2020-03-04 16:11:00格式,在你的模型里面引入Encore\Admin\Traits\DefaultDatetimeFormat,然后use DefaultDatetimeFormat;

use Encore\Admin\Traits\DefaultDatetimeFormat;

class User extends Model
{
    use DefaultDatetimeFormat;
}

方法二:自定义时间格式

  • 1.在App目录下新建目录Traits,然后新建文件SerializeDate.php,文件内容如下
<?php

namespace App\Traits;

use DateTimeInterface;

trait SerializeDate
{
    /**
     * 为 array / JSON 序列化准备日期格式
     *
     * @param  \DateTimeInterface  $date
     * @return string
     */
    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }
}

  • 2.在model中use SerializeDate即可

    <?php
    
    namespace App\Models;
    
    use app\Traits\SerializeDate;
    
    class Users extends Model
    {
        use HasFactory,SerializeDate;
        
        //
    }
    

全局语言本地化


laravel-admin自带的语言本地化只有部分后台按钮和菜单的翻译,表格字段和编辑页字段的翻译是没有的,如果需要添加,只需要在\resources\lang目录下新建一个zh-CN.json文件,然后用__()方法使用即可,这样的话,其它控制器也能复用这里的翻译

zh-CN.json文件内容格式如下:

{
    "Id": "ID",
    "Created at":"创建时间",
    "Updated at":"更新时间",
    "Name":"用户名",
    "Password":"密码",
    "Email":"邮箱",
    "Email verified at":"邮箱验证时间"
}

使用:文章来源地址https://www.toymoban.com/news/detail-834398.html

<?php

namespace App\Admin\Controllers;

use App\Models\User;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;

class UserController extends AdminController
{
    /**
     * Title for current resource.
     *
     * @var string
     */
    protected $title = '用户';

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new User());

        $grid->column('id', __('Id'));
        $grid->column('name', __('Name'));
        $grid->column('email', __('Email'));
        $grid->column('email_verified_at', __('Email verified at'));
        $grid->column('created_at', __('Created at'));
        $grid->column('updated_at', __('Updated at'));

        return $grid;
    }

    /**
     * Make a show builder.
     *
     * @param mixed $id
     * @return Show
     */
    protected function detail($id)
    {
        $show = new Show(User::findOrFail($id));

        $show->field('id', __('Id'));
        $show->field('name', __('Name'));
        $show->field('email', __('Email'));
        $show->field('email_verified_at', __('Email verified at'));
        $show->field('password', __('Password'));
        $show->field('remember_token', __('Remember token'));
        $show->field('created_at', __('Created at'));
        $show->field('updated_at', __('Updated at'));

        return $show;
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new User());

        $form->text('name', __('Name'));
        $form->email('email', __('Email'));
        $form->datetime('email_verified_at', __('Email verified at'))->default(date('Y-m-d H:i:s'));
        $form->password('password', __('Password'));
        $form->text('remember_token', __('Remember token'));

        return $form;
    }
}

到了这里,关于laravel-admin的3个开发细节调整的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PHP Laravel 路由、中间件、数据库等例子

    以下是使用Laravel框架时的一些常见示例: 1. 路由(Routes): // 定义基本路由 Route::get(\\\'/home\\\', \\\'HomeController@index\\\'); // 带有参数的路由 Route::get(\\\'/user/{id}\\\', \\\'UserController@show\\\'); // 路由组 Route::middleware([\\\'auth\\\'])-group(function () {     Route::get(\\\'/dashboard\\\', \\\'DashboardController@index\\\');     Route::pos

    2024年02月16日
    浏览(59)
  • 医疗安全不良事件管理系统源码(PHP+ vue+laravel)

    医疗安全不良事件管理系统全套源码 不良事件上报系统源码 不良事件 管理系统 帮助医院梳理建立不良事件上报与管理的一体化解决方案,包含上报内容、归口科室、上报流程及管理办法。提供面向医院的不良事件全过程管理平台,包含事件上报、事件处理、事件追踪、RC

    2024年02月06日
    浏览(63)
  • 学习路之PHP--laravel postman 提交表单出现419错误

    问题图片 解决: 白名单 有时候你可能希望设置一组不需要 CSRF 保护的 URL 。例如,如果你正在使用 Stripe 处理付款并使用了他们的 webhook 系统,你会需要从 CSRF 的保护中排除 Stripe webhook 处理程序路由,因为 Stripe 不知道要发送什么样的 CSRF 令牌到你的路由。 通常,你应该把

    2024年01月19日
    浏览(62)
  • 甘特图控件DHTMLX Gantt教程:dhtmlxGantt 与PHP: Laravel(下)

    DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术(PHP,ASP.NET,Java等)简单集成,满足多种定制开发需求

    2024年02月06日
    浏览(80)
  • docker容器下php框架laravel的使用问题与解决方案

    DB_CONNECTION=mysql DB_HOST=localhost DB_CONNECTION=mysql DB_HOST=docker33-mysql-1 容器中只有数据库结构 进入MySQL容器内,创建表结构,添加数据 代码层面需要转换成数组 $query - get ( [\\\'*\\\'] )- toArray () ; 分页数据框架会返回带有data的数据,如果循环记得加上

    2024年01月23日
    浏览(74)
  • DNMP一键部署PHP8.2和Laravel10的Docker环境

    服务器环境 所有命令皆在root用户下运行 VMware虚拟机下的ubuntu22.04 docker24.0.7 docker-compose 2.6.1 yeszao/dnmp开源仓库 仓库地址: https://gitee.com/yeszao/dnmp 本文章只提供整个部署的过程,对docker、dockerFile以及docker-compse的知识最好有初步的认识,才能更好的理解 ① 首先在/www文件夹拉取

    2024年01月20日
    浏览(55)
  • 【PHP面试题42】Laravel依赖注入实现的原理是怎么样的

    本文已收录于PHP全栈系列专栏:PHP面试专区。 计划将全覆盖PHP开发领域所有的面试题, 对标资深工程师/架构师序列 ,欢迎大家提前关注锁定。 Laravel是一个流行的PHP开发框架,它提供了许多方便和强大的功能来简化开发过程。其中一个关键功能是依赖注入(Dependency Injecti

    2024年02月16日
    浏览(43)
  • PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构

    // 对应 composer.json 中的 require,一般用这个 $ composer require barryvdh/laravel-ide-helper // 如果只想在开发环境安装请加上 --dev,对应 composer.json 中的 require-dev $ composer require barryvdh/laravel-ide-helper --dev 如果报错 Installation failed, reverting ./composer.json and ./composer.lock to their original content 点这

    2024年04月27日
    浏览(50)
  • php项目laravel框架下在yapi接口文档中运行生产环境的接口

    在 Laravel 中运行 YApi 项目需要经过以下步骤: 1. 安装 Node.js 和 YApi 首先需要在服务器上安装 Node.js 和 YApi,可以按照官方文档进行安装。如果您已经安装了 Node.js,可以使用以下命令安装 YApi: 2. 创建 YApi 项目 在 Laravel 项目的根目录下创建一个新的目录,用于存放 YApi 项目。

    2024年01月25日
    浏览(62)
  • php权限调整强制用户退出的解决方案

    要强制用户重新登录,你可以采取以下步骤: 当用户登录时,将用户的登录状态和其他相关信息存储在服务器端。例如,你可以将用户ID、用户名或其他标识符存储在服务器的会话(session)中。 当管理员修改用户的某些字段时,确保在服务器端更新用户的登录状态或其他相

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包