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

2021-01-28 15:16:44 +08:00
 wfdaj

已在 github 上翻了几十页了 😅

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

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

11654 次点击
所在节点    PHP
102 条回复
wfdaj
2021-02-01 08:45:37 +08:00
@diyisoft 知道但没用过,我看 fastadmin 现成的插件很丰富,基本直接能建站了。
Constantine1
2021-02-01 09:23:45 +08:00
用 laravel,laravel 虽然不轻量,但是开发轻松啊。
Canon1014
2021-02-01 09:38:31 +08:00
希望自己不惑之年也可以像楼主一样保持学习
pinerge
2021-02-01 11:39:57 +08:00
wfdaj
2021-02-02 13:49:08 +08:00
@pinerge 感谢推荐。我可能是受 laravel 的影响,感觉 Biny 命名等不规范的地方较多 😂。
jqh
2021-02-04 14:04:27 +08:00
如果你是抱着学习的目的,轻量级框架首推 slim,可以试试自己从 0 开始开发一个完整的项目,这期间会学习到很多知识点。因为 slim 没有那些重量级框架封装好的组件,自己动手写过项目之后,你对一些 PHP 原生的用法也会比较清楚,这样更利于你后续使用其他框架。PHP 框架基本是个一通百通的东西,各种框架虽然看起来眼花缭乱,但其实万变不离其宗,你只要把 PHP 玩懂了学习其他框架不在话下。


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

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


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

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

如果是抱着学习的心态,那就更不用看了。上面已经说了,PHP 框架万变不离其宗,你把 PHP 搞懂什么框架都不在话下
wfdaj
2021-02-04 14:44:44 +08:00
@jqh 感谢回复。githut 星数最多的就是 slim 了,先去学习下这个。🙏
dvaknheo
2021-02-05 09:08:40 +08:00
@jqh

slim 只是个路由

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

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

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

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

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

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

我不推崇业务代码必须和框架紧密结合的框架。
jqh
2021-02-05 12:02:15 +08:00
@dvaknheo

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

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

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

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

https://github.com/hyperf/nano
chenzheyu
2021-02-06 16:03:36 +08:00
想学就 laravel,学得下去就是老天爷赏饭。学步下去趁早断了念头。laravel 的教程用看库的就行了。
pytth
2021-03-09 14:31:42 +08:00
虚拟主机可以通过伪静态实现定义 public 为根目录
zhao372716335
2021-03-14 19:49:17 +08:00
为什么学 java 的,不会自己去写个框架

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

像现在比较为的 php 框架 laravel,因为用户多,高质量的组件明显多于其他框架,也是一个很好的趋势。
zhao372716335
2021-03-17 08:38:43 +08:00
@wfdaj 是不是看到容易的东西,就想让她难一点?

看到良家妇女劝下海?

看到失足少女劝从良?

男人就喜欢干这事。。。
zhao372716335
2021-03-17 08:41:10 +08:00
@jqh

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

php 工具箱里面有斧头,锯,砍刀,laravel 只是其中一种,不是全部。
chenzheyu
2021-03-17 09:33:05 +08:00
自学主机直接用 heroku 啊,数据库免费 10000 行,自己写足够了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/749247

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX