前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Laravel系列8】走出 Laravel 的世界

【Laravel系列8】走出 Laravel 的世界

作者头像
硬核项目经理
发布2023-03-03 13:34:33
1.2K0
发布2023-03-03 13:34:33
举报

走出 Laravel 的世界

还记得这个系列的第一篇文章是什么吗?当时我们写的是《进入Laravel的世界》。照理说,学习完了,日常应用更得心应手了,我们为啥又要走出呢?

又是一个新的开始

对于我们的人生来说,就是在不断地进行着开始与结束的循环。在开始的时候,我们走进 Laravel 的世界。从头到尾并没有很深入的讲解每一个功能的使用,这些内容讲的教程太多了,通常我们只是简单地介绍一个功能的使用,然后就开始分析它的源码。想必你也知道了,我们要看的更多的是这个框架的设计思想,包括设计模式的应用、代码结构的组织、底层调用的路径分析等。我认为,在了解了这些内容之后,你再回头看框架已经封装好的功能,就会感觉非常亲切和简单。

这其实也是各位大佬们推荐通过源码阅读来学习的主要原因。不过一个人看代码的感觉相信你也非常清楚,那个困啊,那个懵啊。所以,我写这个系列的初衷也是非常自私的,希望通过分享的方式激励自己去深入的了解整个 Laravel 框架体系。因此,在录制视频的时候也会出现各种踩坑,各种调试不顺和找不到东西。但是之前我在小视频中就分享过,录视频只是我的一个复习手段,包括这些文章,并不指望大家能看到,而且我也不怕有错误有遗漏,有大神能指出来就是对我最大的帮助。所以大部分情况下只是大概看一眼,试一下,然后就开始录,边录边调试,进一步加深印象。其实真正在写文章的时候,付出的精力远比录视频时要多的多。不过话说回来,如果这些文章和视频真的能够为你带来哪怕一丝丝的收获,那么也算是功德一件,感谢你,也感谢我自己。

学习这条路是没有尽头的,Laravel 的学习结束了,不少小伙伴应该也把它应用在日常业务开发中了。下一个起点又会是什么呢?其实不少 PHP 程序员可能都没怎么接触过高并发,毕竟 PHP 的适用场景是初创企业可以进行快速产品验证。因此,往往在到了一定规模之后,很多企业都会切换到 Java 等其它语言环境,比如最出名的淘宝。淘宝最早就是买的一个 PHP 商城系统,当规模做大之后,直接请的 Sun 公司的技术专家以及淘宝初创时的各位大牛们改为了 Java 。这件事在 《淘宝技术这十年》 这本书中都有讲过。

那么,PHP 就不能做高并发大流量的业务了吗?相信不少同学已经马上脱口而出了:“Swoole 可以呀!”。

好吧,不废话了,下个系列就写 Swoole 。但是,没有源码分析了哦,C 源码我可分析不动。我们就直接去学习 Swoole 中的应用功能,以及一个和 Laravel 非常像的 Swoole 框架:Hyperf 。

当然,不是说离开了 Swoole 或者 Workerman ,原生的 PHP 并发就很烂了。现在的 PHP8 引入了 JIT ,配合 OPCache ,再加上多台机器分布式部署的话,其实性能也不差。但是,又来但是了,在一些业务场景下,一台 Swoole 确实可以顶好几台甚至几十台的传统 PHP 服务器,这真不是瞎说。换句话说,对于财务很友好,对老板开源节流也很友好,对我们也很好。为啥呢?不接触一些传统编译型语言的理念的话,想要将自己的技术水平再提升一个档次,真的很难,PHPer 们一定要跳出舒适圈啊!

Laravel 优雅吗

还记得我们一开始就说过这个问题,同时网上很多人也都会去说它是一个优雅的框架。经过这段时间的学习,我相信你也有了自己的答案。特别是在面试的时候,你可以向面试官说出具体优雅在哪里了吗?

服务容器、门面、模型它们的实现过程其实都很复杂,但是呈现给我们的确实是优雅的感觉,变量命名规范、代码层次清晰等等,就不一一列举了。我们只需要用很少的代码就可以实现很多功能,因此更多的感觉是它整个框架的结构,一些代码的使用方式很有 Java 的感觉。不过这也印证了一个道理,天下大同,不仅是语言,这些框架也在越来越接近,越来越类似。

如果你还要继续深入地学习一些编程思想,现在应该去看一看 Java 相关的框架了。体系更复杂,概念更多,但是也确实都是更流行更新潮的内容。是否合适用在 PHP 上呢?这个就仁者见仁,智者见智了,也超过了我的能力范畴没法给你答案了。

别的框架还学不学

这个嘛,你工作中用哪个呢?如果你用得是 TP 或者 Yii ,那本身就已经没问题了。你可以在这些框架中寻找到 Laravel 中许多实现的影子。如果你本身就是在用 Laravel ,去拓展一下眼界也没什么不好。不说谁抄谁,思想都是开源的,这点你必须承认。很多实现或许在其它的框架中会有更好的解决方案,我们学习了解到了不也是一种收获嘛。

另外我个人有个观点,最简单,最方便,使用的人最多的框架才应该是你的主力框架。比如说在国内,TP 确实是很好的选择,通过 Laravel 来学习潮流思想,通过 TP 来完成工作和完成自己想做的任何东西,不失为一种好的方案。

不出项目教程?

我的天呀!(小岳岳语气)

还需要我来出具体的项目教程?这东西一搜一大堆了吧,用 Laravel 做博客的、做商城的、做官网的教程或者是源码分析的,已经多得不能再多了,而且都是各位大神的讲解,绝不会比我差,只会更好。但是请记住,官方文档和实战经验才是你的法宝,我们这些 CRUD 程序员能把数据库设计好了就完全足够应对这些项目了。毕竟最终我们都只是在做数据的操作而已。

好吧,立个 Flag ,写完 Swoole 之后我们来一起研究 MySQL、Redis、Nginx 三大件怎么样?到时候一起研究做什么项目怎么建合适的库表好啦!

总结

别的不多说了,期待我们下个 Swoole 系列的见面吧。希望你在这段旅程中有所收获,更重要的是带来一些启发,有什么想说的就直接留言吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农老张 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 走出 Laravel 的世界
    • 又是一个新的开始
      • Laravel 优雅吗
        • 别的框架还学不学
          • 不出项目教程?
            • 总结
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档