V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tuuuz
V2EX  ›  PHP

有什么优雅的方式写后台管理系统(列表,增删改查

  •  
  •   tuuuz · 2016-03-09 10:07:55 +08:00 · 13844 次点击
    这是一个创建于 3216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题主是 PHP 程序猿,最近的工作内容是写后台(各种 CRUD ),如下图

    http://ww2.sinaimg.cn/large/bd52288agw1f1qdiwdy8jj21kw0ztdn3.jpg

    写完新闻列表写话题列表,写完话题列表写用户列表……感觉就像找你妹的无尽模式😢


    以前的流程如下:

    • 新建 话题列表.php
    • 然后把以前写过的新闻列表.php的 html 复制粘贴过来,修改若干
    • 然后写取数据的路由、增删改的路由、以及各种需求所需要的路由

    5


    想向老司机们 请教一下 有没有优雅的方式能够减轻我的工作量。。感恩🙏

    35 条回复    2018-05-24 16:02:08 +08:00
    est
        1
    est  
       2016-03-09 10:08:30 +08:00   ❤️ 4
    django admin 拯救 CURD 世界
    feiyuanqiu
        2
    feiyuanqiu  
       2016-03-09 10:11:45 +08:00   ❤️ 1
    现在好多框架都已经支持自动生成这类功能的代码,比如 yii
    如果用的框架不支持,可以自己写一个代码生成工具,也不复杂
    tuuuz
        3
    tuuuz  
    OP
       2016-03-09 10:12:22 +08:00
    @est 😂果然是[人生苦短 我用 Python ]
    justfly
        4
    justfly  
       2016-03-09 10:12:29 +08:00   ❤️ 1
    你可以鼓捣一个框架 用元数据来生成重复的东西 再做这样的业务就是写配置文件
    tuuuz
        5
    tuuuz  
    OP
       2016-03-09 10:13:50 +08:00
    @feiyuanqiu 团队现在用的是 Laravel ,我去搜一下有没有此类功能,感谢提供思路
    pynix
        6
    pynix  
       2016-03-09 10:14:26 +08:00   ❤️ 1
    Django admin
    denghongcai
        7
    denghongcai  
       2016-03-09 10:18:20 +08:00   ❤️ 1
    wgjak47
        8
    wgjak47  
       2016-03-09 10:24:15 +08:00
    https://github.com/sshwsfc/django-xadmin
    如果你嫌 Django 原生的 admin 难看。
    cooper
        9
    cooper  
       2016-03-09 10:25:16 +08:00
    RangerWolf
        10
    RangerWolf  
       2016-03-09 10:27:06 +08:00
    楼主 你的后台模板是什么?
    tuuuz
        11
    tuuuz  
    OP
       2016-03-09 10:32:11 +08:00
    @denghongcai 非常非常感谢,很有帮助!
    TangMonk
        12
    TangMonk  
       2016-03-09 10:32:35 +08:00   ❤️ 2
    使用 PHP 的各种 Admin 生成框架:

    Sonata Symfony Admin:




    Rails Admin 改装版:

    tuuuz
        13
    tuuuz  
    OP
       2016-03-09 10:33:30 +08:00
    tuuuz
        14
    tuuuz  
    OP
       2016-03-09 10:34:04 +08:00
    @RangerWolf 用 Bootstrap 写的
    Jelen
        15
    Jelen  
       2016-03-09 10:44:24 +08:00
    赶紧收藏,我也是那个一直 CRUD 的搬砖工,而且他丫的还是桌面应用。。。话说,桌面应用有什么解决方案
    gdtv
        16
    gdtv  
       2016-03-09 10:58:09 +08:00
    我也曾经想过有什么脚本可以自动生成 CURD 的代码,我也曾经试图开发过这样的自动脚本,但后来发现,各个模型的东西一般都不同,并且各个模型之间还有关联, CURD 代码也会有很多不同,就算可以自动生成,最后要手工改的东西还是很多,不如从一开始就手工写了。
    tuuuz
        17
    tuuuz  
    OP
       2016-03-09 11:08:47 +08:00
    @Jelen 祝你早日找到趁手的兵器
    tuuuz
        18
    tuuuz  
    OP
       2016-03-09 11:10:57 +08:00
    @gdtv 哈哈是的,模型关联太复杂的时候,以前造的轮子直接爆胎了…可能是写的太渣
    xujif
        19
    xujif  
       2016-03-09 11:12:29 +08:00   ❤️ 1
    @tuuuz laravel administrator 针对一般的 crud 够了,不过扩展性不是很好
    tuuuz
        20
    tuuuz  
    OP
       2016-03-09 11:14:29 +08:00
    @xujif 哈哈,是!前期用的应该会挺爽,一加功能估计得跪
    pynix
        21
    pynix  
       2016-03-09 11:26:13 +08:00
    @wgjak47 酱狗 1.9 有些提升了。
    chaegumi
        22
    chaegumi  
       2016-03-09 12:35:44 +08:00   ❤️ 2
    多看看这个 实体属性值模型
    chaegumi
        23
    chaegumi  
       2016-03-09 12:38:07 +08:00
    drupal 的思路
    chaegumi
        24
    chaegumi  
       2016-03-09 12:43:15 +08:00
    ywUXm9U86a62N7rN
        25
    ywUXm9U86a62N7rN  
       2016-03-09 12:45:09 +08:00
    @est 不是说 PHP 才是最好的语言么,哈哈
    500miles
        26
    500miles  
       2016-03-09 12:49:25 +08:00   ❤️ 1
    对于 php 来说, yii 太擅长处理这一块儿了, 开箱自带, 分分钟一个后台出炉

    laravel 也有类似的第三方实现, 去 github 搜吧...
    viko16
        27
    viko16  
       2016-03-09 13:10:55 +08:00   ❤️ 1
    cai314494687
        28
    cai314494687  
       2016-03-09 13:26:38 +08:00   ❤️ 2
    使用 yii2 吧, 数据库建好之后, gii 就能生成 CRUD

    可以使用 adminlte ,效果是这样的



    当然默认搜索也写好了,被注释掉了。
    esxivistawrt
        29
    esxivistawrt  
       2016-03-09 13:34:48 +08:00
    框架网页
    damocles
        30
    damocles  
       2016-03-09 14:32:52 +08:00   ❤️ 1
    抽离共用模板。再往这些共用模板传入不同数据和参数。
    [http://www.golaravel.com/laravel/docs/5.0/templates/]( http://www.golaravel.com/laravel/docs/5.0/templates/)
    g8287694
        31
    g8287694  
       2016-03-09 15:01:25 +08:00   ❤️ 1
    laravel 自带吧
    yangyifan
        32
    yangyifan  
       2016-03-09 15:03:59 +08:00   ❤️ 1
    https://github.com/tyua07/laravel-admin 我安利一个 laravel 版本的,还有很多细节在完善!
    ryerh
        33
    ryerh  
       2016-03-09 15:10:03 +08:00   ❤️ 1
    用过 Django 自带的 Admin ,再也不对各类后台感兴趣了。。。
    hjiang
        34
    hjiang  
       2016-03-09 15:36:23 +08:00   ❤️ 2
    leancloud.cn 的 LeanEngine 支持 PHP 了,你可以试试。可以用 LeanCloud 自带的数据管理后台,就不用自己写了。
    zdcin
        35
    zdcin  
       2018-05-24 16:02:08 +08:00
    http://www.listcode.cn 代码生成云服务,只需要提供数据库模型,前后端代码一站生成,支持 laravel,thinkphp,java,python,nodejs,vue 等框架, 完成度高,翻页,多条件查询,外键编辑,输入检查都有了

    demo 入口说明:
    https://www.listcode.cn/_dh/readonly_home

    高完成度的代码生成服务
    前后端代码、js、UI 一站生成
    翻页,多条件联合查询
    外键关联编辑、展示
    输入验证,错误提示
    常见类型个性化编辑、展示
    完整 REST API 接口
    多种开发技术支持
    支持常用语言和技术框架,支持前后端分离,也可使用原生前端技术

    JavaScript:nodeJs, Vue2, Jquery
    Java Spring-mvc, Jpa, Mybatis
    Php ThinkPhp5, Laravel
    Python Flask, Tornado
    所见即所得的在线运行系统
    可以在线运行您的系统,直接预览生成效果,避免重复搭建环境、本地启动等繁琐流程,快速调整设计与参数设置,节约宝贵时间。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:55 · PVG 22:55 · LAX 06:55 · JFK 09:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.