有什么优雅的方式写后台管理系统(列表,增删改查 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tuuuz
V2EX    PHP

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

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

    题主是 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 自带吧
    Geebarwan
        32
    Geebarwan  
       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     Solana     3866 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 10:28 PVG 18:28 LAX 03:28 JFK 06:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86