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

求推荐适合菜鸟的轻量级 PHP 框架 😅

  •  
  •   wfdaj · 145 天前 · 6916 次点击
    这是一个创建于 145 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已在 github 上翻了几十页了 😅

    要在虚拟主机上部署(无法指定 public 为根目录),也需要模板功能,有木有比 thinkphp 更轻量级的?

    因各种原因(个人水平问题😂),已排除 laravel/codeigniter/fatfree 。duckphp 我也没看懂。

    第 1 条附言  ·  142 天前

    感谢众多网友的回复,无法一一@了。本人年已 不惑,在机关工作。学习 php 是业余爱好,学习方式是网上的电子书和 php 手册,水平只限于使用 dedecms 之类套个模板。

    最初想学习 php,是因为使用开源程序中,无法满足自己需求,而且总有种自己想成为站长的冲动,有典型的“只缺一个程序员”的幼稚想法😉。今年老二要上小学了,又有点自己的时间啦。尤其去年疫情期间,确实在家闲的无聊,开发开源程序的小火苗又有些升腾啊~。

    我把众网友的回复都认真看了,包括推荐的框架也去 github 和 官网看了,有些确实看不懂。像 slim,在 github 上搜索 micro framework,stars 数第一,我觉得适合准程序员或者公司开发简单程序作为起点用。

    综合网友回复,适合我的可能是 thinkphp。国产,文档齐全,用户多,有问题百度可能有解决方案。


    最近百度到两个框架,有用过的网友可给点评下:xiunophpgrace

    xiuno 框架时间比较久远了,但有现成的开源论坛可供参考。phpgrace 是我刚发现的,优点是有现成的视频教程,官方开发,感觉也能看明白一些。

    100 条回复    2021-03-17 09:33:05 +08:00
    iscraft
        1
    iscraft   145 天前
    flight ?
    GM
        2
    GM   145 天前
    Silex (虽然已经不维护了,但是依然觉得很好用)
    hwy
        3
    hwy   145 天前
    BroPHP,如果是学习用的话可以试试这个
    madpecker009
        4
    madpecker009   145 天前
    买服务器啊 我看着前几天阿里云的学生机不到一百多一年
    Avant
        5
    Avant   145 天前
    虚拟机为啥不能指定 public 为根目录😅
    liuxu
        6
    liuxu   145 天前
    http://www.phpbenchmarks.com/en/

    虚拟主机可以设置 public 为主目录的,在管理后台设置里面,看你是什么管理的,plesk 在主机设置里面
    dsnake1984
        7
    dsnake1984   145 天前
    composer 要毛坯框架~
    lixuda
        8
    lixuda   145 天前
    slim,话说 ci 还是很好用的,为什么不用
    mokeyjay
        9
    mokeyjay   145 天前
    ThinkPHP 3.2 可能是最合适的
    heybuddy
        10
    heybuddy   145 天前
    tp5 还可以啊,部署的问题在 tp5 文档的评论区看看,可能会有答案(评论区时有时无)
    oueryini
        11
    oueryini   145 天前
    ci 挺好的呀
    qiayue
        12
    qiayue   145 天前
    要啥框架啊,自己写
    wfdaj
        13
    wfdaj   145 天前
    @iscraft 这个我在看,没有数据库操作,需要自己整合一个?
    @GM 还是想找个正常维护的框架。
    @hwy 这个我只搜索到一个 https://github.com/itxdl/brophp,但是已经 7 年没有更新了。
    @liuxu 我用的是阿里云的虚拟主机,一年 58 元,没找到从哪里指定网站根目录 😅,默认根目录是 htdocs/
    @dsnake1984 是的,我搜索到 https://packagist.org/ 这个,水平足够的话应该能基于这些组件搭建。
    @lixuda 我个人觉得,如果使用 ci4 就不如直接用 thinkphp6 了。slim 我也看了,我感觉新手不是很友好 😅。应该是准程序员拿来搭建项目基础的吧,像我这半路出家的,用不明白。
    R18
        14
    R18   145 天前
    CI3,其实越轻量级的越难,自己要实现的越多。
    wfdaj
        15
    wfdaj   145 天前
    @qiayue 刚学了一点 php 基础,自己写不了 😂,刚才试着整合 flight 和 medoo,都没弄明白。
    sun522198558
        16
    sun522198558   145 天前
    不用框架直接写完事
    wfdaj
        17
    wfdaj   145 天前
    @R18 已经不维护了,我看网上评价是代码编码比较陈旧?🤔
    pixiaotiao
        18
    pixiaotiao   145 天前 via Android
    Ci laravel
    zjsxwc
        19
    zjsxwc   145 天前
    wordpress 上直接改
    HiCode
        20
    HiCode   145 天前
    花 3 天看一下基本的 mvc 框架原理,花 2 天写出基本架构,在实际项目中花 N 年慢慢打磨,你就能得到一个自己想要的轻量 PHP 框架。
    fiypig
        21
    fiypig   145 天前 via iPhone
    tp3.2 无脑撸就对了,文档看下,或者跟着视频撸,反正入门没有比 tp 更适合的了
    helionzzz
        22
    helionzzz   145 天前
    学个 sf,然后自己拎几个 bundle 出来造个框架( doge
    fxjson
        23
    fxjson   145 天前
    wfdaj
        24
    wfdaj   145 天前
    @HiCode
    @fiypig
    @helionzzz 感谢。准备去看 packagist.org 了。
    KaynW
        25
    KaynW   145 天前
    😅😅😅😅😅😅😅😅😅😅
    learningman
        26
    learningman   145 天前
    😅总感觉阴阳怪气的
    lixuda
        27
    lixuda   145 天前
    @wfdaj 忘记说了,ci3,适合半路,我也半路的半路,用 ci3 就感觉简单,没有对象,没有命名空间,拿来就写,或者 tp3
    wfdaj
        28
    wfdaj   145 天前
    gitee 搜索到这两个,排名比较靠前,https://www.startmvc.com/https://www.z-php.com/ ,看起来也比较简单。
    iicoder
        29
    iicoder   145 天前
    轻量级的 你敢用吗?再有 如何评定是轻量级?在我看来社区的积极维护才是最正确的选择,要么就自己写
    EscYezi
        30
    EscYezi   145 天前 via iPhone
    想起一个很久以前用过的 speedphp,轻量到有些简陋
    jtsai
        31
    jtsai   144 天前
    thinkphp 是学习成本最低的, 有更简单的框架也没有他学习资料多
    simonzhd
        32
    simonzhd   144 天前
    建议 tp
    ck65
        33
    ck65   144 天前
    多年前写 PHP 时用过 slim + medoo 的组合,非常轻量。
    zictos
        34
    zictos   144 天前
    不用框架直接写就行,其实很多时候如果只是简单几个页面的话用框架反倒还复杂化了。后端并不难,反倒是前端比较麻烦( css 和 js 之类的写起来很麻烦)。
    to2false
        35
    to2false   144 天前
    轻量不如文档全,只要文档全啥都好说
    ershisi
        36
    ershisi   144 天前
    CI
    unclemcz
        37
    unclemcz   144 天前
    @ck65 #33 我现在依然是这个组合,slim 还是太小众,新手碰到问题比较难排雷。
    xfcy
        38
    xfcy   144 天前
    slim,ci3
    dvaknheo
        39
    dvaknheo   144 天前
    感谢尝试 duckphp 。目前的 duckphp 1.2.10 版本到达稳定阶段,

    如果只想完成任务的话,那就用 ci3 吧。
    用 ci3 完成一两个东西 ,就能找个工作进 tp6 的组了。
    跟着人做完项目,就算掌握了,下次转 laravel 这种笨重东西也不怕了
    billgong
        40
    billgong   144 天前
    怎么没人推 CakePHP ?轻量到算不上,但我觉得和 CI 、Laravel 相比挺直观的,读英文的话,文档也不错。只是中文社区里 Cake 不怎么活跃的。
    ruchee
        41
    ruchee   144 天前
    既然连 CI 都嫌复杂,就不用框架,直接上个 Medoo 做 ORM 就好,需要什么第三库,直接 Compoer 装,非常 Nice
    baobao1270
        42
    baobao1270   144 天前
    <?php
    require(dirname(__file__)."/controllers/".$_GET["controller"].".php");
    $_GET["action"]();
    sorshion
        43
    sorshion   144 天前
    initphp,老框架
    phpfpm
        44
    phpfpm   144 天前
    @baobao1270 你这分分钟被爆哭的妈都不认识。
    isundust
        45
    isundust   144 天前 via Android
    试试 classcms 或者 pbootcms
    zhuzhibin
        46
    zhuzhibin   144 天前
    一直用 Yii2>laravel 这两个上手还是算了
    sarices
        47
    sarices   144 天前
    跟 public 目录有什么关系啊。。。别框架了,还是先学好 php
    twikor
        48
    twikor   144 天前 via Android
    lumen,转 laravel 也方便
    falcon05
        49
    falcon05   144 天前 via iPhone
    无法指定 public 为根目录,你需要 URL rewrite
    yfwl
        50
    yfwl   144 天前
    买台云服务器吧 哈哈
    yekern
        51
    yekern   144 天前
    ... wordpress 吧 随便改吧改吧, 连这么简单的框架都不能用的话, 虚拟空间不需要指定目录, 如果项目指定 public 可以改下转发规则的
    xttanwei
        52
    xttanwei   144 天前
    推荐 slim
    tanszhe
        53
    tanszhe   144 天前
    https://github.com/lizhichao/one
    无其他依赖,从路由、orm 所有组件代码量一共不超过 500k,若二次开发没有复杂的调用关系,可快速掌握设计原理
    TORYOI
        54
    TORYOI   144 天前
    不建议 tp,用于生产环境遇到过两次重大漏洞,导致服务器被入侵,以后新的项目都不考虑 tp
    Logtous
        55
    Logtous   144 天前
    webman 考虑一下
    wmwmajie
        56
    wmwmajie   144 天前   ❤️ 1
    我推荐你用 yii2 如果 yii3 出了你可以考虑 3 。
    不轻,但是我还是推荐,因为谁都说不好项目下面的内容会有多大多复杂不是么。
    几乎包含你能用到的所有东西,而且执行效率算是目前这类大型框架中最高的了。
    关键一点就是开发效率高,很高。
    limingxinleo
        57
    limingxinleo   144 天前   ❤️ 1
    用腾讯开源的啊

    大厂开源有保障

    https://github.com/Tencent/Biny
    ben1024
        58
    ben1024   144 天前
    slim 极度简单
    thinkphp 容易上手
    guanguans
        59
    guanguans   144 天前   ❤️ 1
    推荐下自己写的微框架: www.guanguans.cn/coole
    Actrace
        60
    Actrace   144 天前   ❤️ 1
    我个人会推荐直接开干,有啥需要的功能直接去 php.net 搜索所需函数即可。

    无论何种编程语言,其本身的 “本质” 就是框架的一种。C 是汇编的框架,PHP 又是 C 的框架,一层套一层,目的始终是将不需要重复编写的部分隐藏起来。

    因此如果你要写一个小型的项目,我是觉得不需要用什么框架,因为 PHP 本身设计时就是面向 web 的可模板化的编程语言。

    大型项目考虑到代码管理的问题,有几套架构可以学习,选择合适的架构来应用,比如 MVC 之类。
    virus94
        61
    virus94   144 天前
    ThinkPHP 和 CI
    Evilk
        62
    Evilk   144 天前
    yaf,值得拥抱
    justin2018
        63
    justin2018   144 天前
    CodeIgniter
    wowbaby
        64
    wowbaby   144 天前
    slim,yii
    goushenggege
        65
    goushenggege   144 天前
    laravel 啊;能无缝切换 tp5 以上版本开发,在国内活得下去。有市场的框架才是上手的好框架
    leewlab
        66
    leewlab   144 天前
    laravel
    zikkeung
        67
    zikkeung   144 天前
    还有人学 php ?
    RickyC
        68
    RickyC   143 天前
    在 tp/index.php 里 include tp/public/index.php
    demen
        69
    demen   143 天前
    CI4 吧,还是多接触些 PHP 的新版本特性
    touno
        70
    touno   143 天前
    用现成的 typecho 程序作为框架搞吧
    t6attack
        71
    t6attack   143 天前
    最轻量级就是不用框架。直接写。别人框架里有你需要类库函数就抠出来,塞进自己项目里。
    restkhz
        72
    restkhz   143 天前 via Android
    推荐 ci,broPHP 可以作为教材看看,但是不推荐在生产环境使用。

    https://github.com/restkhz/ugly-php-blog

    这是我的博客系统,自己写的 MVC 框架做的。毕竟也是学习用的,非专业,但是如果你有兴趣可以看一看代码。
    ibcker
        73
    ibcker   143 天前
    可以看看低版本点的 tp
    hefish
        74
    hefish   143 天前
    自己 构建一个吧。 我以前写 php 都是懒得用框架。自己写了个入口 index.php ,然后解析了一下 $_GET['c']和$_GET['m'], 然后用 composer 生成好 autoload 。基本就能用了。数据库是调用的 Eloquent ORM 。
    poembre
        75
    poembre   143 天前
    看到有人推荐 php MVC 那我也推荐一个自己写的 https://github.com/poembro/ngxphp 简单到几个 3-5 个类文件,几乎不叫框架
    shellic
        76
    shellic   143 天前
    新手不推荐用小众的框架,因为可能会有很多坑;反而那些比较大众的框架有完备的文档,活跃的社区上手会更简单一些
    wfdaj
        77
    wfdaj   142 天前
    对我来说,一个人开发,需要看的东西太多,每个都只能搞清楚一点,像 html, js, jquery, php...,bootstrap 有看懂,但又出现一些 vue 之类,连 css 都需要 less 、sass...感觉简单的事情更复杂了。

    可能这些对大公司协作开发才有用吧...
    cullen911
        78
    cullen911   141 天前
    lumen?
    diyisoft
        79
    diyisoft   141 天前
    fastadmin.net 有使用的吗?
    建好表 curd 一键生成,api 一键生成,感觉还是挺方便的。没有大量数据测试,具体性能不评论。
    wfdaj
        80
    wfdaj   141 天前
    @cullen911 传统网站开发,还需要使用模板功能,不只 api 开发。
    wfdaj
        81
    wfdaj   141 天前
    @diyisoft 知道但没用过,我看 fastadmin 现成的插件很丰富,基本直接能建站了。
    Constantine1
        82
    Constantine1   141 天前
    用 laravel,laravel 虽然不轻量,但是开发轻松啊。
    Canon1014
        83
    Canon1014   141 天前
    希望自己不惑之年也可以像楼主一样保持学习
    pinerge
        84
    pinerge   141 天前
    wfdaj
        85
    wfdaj   140 天前
    @pinerge 感谢推荐。我可能是受 laravel 的影响,感觉 Biny 命名等不规范的地方较多 😂。
    jqh
        86
    jqh   138 天前
    如果你是抱着学习的目的,轻量级框架首推 slim,可以试试自己从 0 开始开发一个完整的项目,这期间会学习到很多知识点。因为 slim 没有那些重量级框架封装好的组件,自己动手写过项目之后,你对一些 PHP 原生的用法也会比较清楚,这样更利于你后续使用其他框架。PHP 框架基本是个一通百通的东西,各种框架虽然看起来眼花缭乱,但其实万变不离其宗,你只要把 PHP 玩懂了学习其他框架不在话下。


    如果你是选一款作为自己常用的框架,那么必须推荐 Laravel,主要原因如下:

    1.Laravel 框架本身设计非常优秀(许多框架也在模仿 Laravel 的设计),日常开发的大部分常用功能都有支持,并且体验非常好,你会用得非常爽;
    2.Laravel 社区很活跃,生态非常非常强大,高质量的扩展包数量远远超出其他框架,这也是非常重要的一点,能让你的日常开发如虎添翼
    3.框架经过多年积累已经非常成熟稳定,版本迭代也很快,版本差异小,不像其他一些框架大版本升级就像换了个框架似的


    那么 Laravel 有什么缺点没有?其实也是有的,Laravel 最为人诟病的就是性能,Laravel 的性能确实比其他框架要差一些。不过根据我多年使用 PHP 的经验来看,对于绝大部分选择 PHP 的项目,性能并不是最重要的考量要素。优化过后的 Laravel 项目整体性能并不会太差,更主要的瓶颈还是在数据库。
    jqh
        87
    jqh   138 天前
    对于楼主选的那几款例如 xiuno 、phpgrace 这样的冷门框架,我的建议是:看都不用看,完全不用浪费时间。

    如果是选日常开发框架,最好别选冷门的。原因一是熟悉的人不多,团队合作中会增加很多额外的成本;二是缺少生态,出了问题只能自己爬坑,想用别人现成的扩展包就更不用想了;三是稳定性无法保证,万一开发者哪天跑路了不更新了呢?

    如果是抱着学习的心态,那就更不用看了。上面已经说了,PHP 框架万变不离其宗,你把 PHP 搞懂什么框架都不在话下
    wfdaj
        88
    wfdaj   138 天前
    @jqh 感谢回复。githut 星数最多的就是 slim 了,先去学习下这个。🙏
    dvaknheo
        89
    dvaknheo   137 天前
    @jqh

    slim 只是个路由

    1.Laravel 框架本身设计非常 Java 的。
    // 建议直接学习 spring 。
    2.Laravel 社区很活跃,生态非常非常强大,高质量的扩展包数量远远超出其他框架 。
    // 你会陷入研究不同的扩展和框架 而不是完成业务之中
    3.框架经过多年积累已经非常成熟稳定
    // 版本号飙得特别快。 各种版本升级的问题,不是一个人能解决的
    jqh
        90
    jqh   137 天前
    @dvaknheo 就是因为 slim 只是个路由我才推荐楼主学习,这更利于初学者熟悉掌握 PHP 的原生用法

    1.其实对用户来说,框架设计来自哪个语言来自哪里并不重要,设计模式都是程序通用的。重要的是框架能不能帮助用户提高效率和产能,能不能让开发者用得爽。很明显 Laravel 在这方面做得很好。Laravel 的 api 非常人性化,简洁易懂,开发者根本不用操心太多

    2.可能只有你才有这种情况,如果一个功能已经有优质的扩展包,我直接使用肯定比自己开发要更高效。难道你在业务开发中每个功能都自己花大量时间重复造轮子?这就是你所谓的“完成业务”?

    当然我并不是不推崇自己造轮子,相反我认为程序员很有必要自己去造轮子,因为这是提升自己编码能力的重要途径。但绝不是在业务开发中去浪费时间精力重复造轮子,这不仅会浪费大量时间影响上线,而且会给项目带来很多不稳定因素更容易出 BUG 。如果已经有现成的、经过千万人验证可行的优质方案,那为什么要自己造轮子?

    3.Laravel 版号更新快在我看来反而是优点,这说明开发团队很活跃。而且 Laravel 版本差异小,用户升级并不麻烦。并且 Laravel 很稳定,如果不是重大安全漏洞修复,用户基本可以不用理会版号更迭,根本用不着升级
    dvaknheo
        91
    dvaknheo   137 天前
    @jqh
    slim 这种路由叫做舍近求远。被 Java 带过来的歪风。把 php 应该有的优点都丢了。学习笨重的 java 。

    1 Laravel 做得最好的是推广。调试和学习成本也是成本。
    2 嗯,让大家钉死在“Laravel 解决方案” 而不是 “PHP 解决方案”。
    3 大版本号变更,会导致搜索解决方案不好搜。

    我不推崇业务代码必须和框架紧密结合的框架。
    jqh
        92
    jqh   137 天前
    @dvaknheo

    1.我不知道 Laravel 在国内是谁推广的怎么推广的,反正不论是谁推广,好不好用用过的人自然知道
    2.Laravel 也是“PHP 解决方案”,难道生态做得好还有错了?为什么大家愿意给 Laravel 贡献轮子?这背后的原因不值得思考吗

    业务代码必须和框架紧密结合的框架

    这个问题没有讨论的必要,没有方法可以完全做到框架和业务完全分离,如果有那就是在业务代码中完全不使用任何框架的方法,那就等于不用框架。也别再给我说你自己研发的那个框架了,实际上就是尽量让用户别用框架的方法,让用户自己造轮子,这就等于一个砍树的放着别人现成的斧子不用,自己发明其他工具去砍树
    limingxinleo
        93
    limingxinleo   137 天前
    推荐 Hyperf https://github.com/hyperf/hyperf

    你也可以试试 nano,一个 php 文件就可以构建整个小项目的框架

    https://github.com/hyperf/nano
    chenzheyu
        94
    chenzheyu   136 天前
    想学就 laravel,学得下去就是老天爷赏饭。学步下去趁早断了念头。laravel 的教程用看库的就行了。
    pytth
        95
    pytth   105 天前
    虚拟主机可以通过伪静态实现定义 public 为根目录
    zhao372716335
        96
    zhao372716335   99 天前
    为什么学 java 的,不会自己去写个框架

    玩 php 的动不动就要写个框架。
    wfdaj
        97
    wfdaj   97 天前
    @pytth 这个我知道,但有些这样更改后会出现一些问题。
    @zhao372716335 我个人觉得,php 容易入门,所以,这种自写框架的冲动可能就多。能用 java 的,可能都忙于工作了吧,没有闲情逸致了。😅,都用一样的框架,就越来越完善了。

    像现在比较为的 php 框架 laravel,因为用户多,高质量的组件明显多于其他框架,也是一个很好的趋势。
    zhao372716335
        98
    zhao372716335   97 天前
    @wfdaj 是不是看到容易的东西,就想让她难一点?

    看到良家妇女劝下海?

    看到失足少女劝从良?

    男人就喜欢干这事。。。
    zhao372716335
        99
    zhao372716335   97 天前
    @jqh

    laravel 只是一种类型的场景解决方案,不是 php 解决方案,是个工具

    php 工具箱里面有斧头,锯,砍刀,laravel 只是其中一种,不是全部。
    chenzheyu
        100
    chenzheyu   97 天前
    自学主机直接用 heroku 啊,数据库免费 10000 行,自己写足够了。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2759 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:30 · PVG 18:30 · LAX 03:30 · JFK 06:30
    ♥ Do have faith in what you're doing.