您的位置 首页 php

「Laravel系列1」进入 Laravel 的世界

欢迎来到 Laravel 系列文章的学习。从这篇文章开始,我们开始进入到 PHP 框架 相关的学习中。在这其中,我们主要学习的就是 Laravel 框架,那么为什么是 Laravel 呢?明明 TP 、 Yii 也是很多人在使用的呀。

为什么是 Laravel

一说到 PHP 的框架,三巨头是绕不开的,也就是 ThinkPHP 、Yii 以及我们马上要学习的主角 Laravel 。当然,还有 CodeIgniter CakePHP 以及大名鼎鼎的 Zend Framework 等等非常多的优秀框架。但是,从当前的市场环境来看,Laravel 框架是绝对的主流。TP 框架在 5.x 版本的时候,基本就像是一个 Laravel 的翻版,而 6.x 系列还没有详细的看过,不过总体的思想其实都是和 Laravel 很接近的。

就像语言的互相借鉴融合一样,框架之间也是这样的。我们不能说 TP 或者 Yii 不好,而且还应该多多支持 TP 这样的优秀国产开源框架。但是他们确实在慢慢地向 Laravel 中的很多思想靠拢。所以,我们一次到位,直接来学习 Laravel 框架,同时也能加深我们对 TP 以及其它框架的理解。

顺便说说我使用过的其它框架吧,在 TP 的 3.x 时期,使用过 TP 做过不少小网站,方便,简洁,确实很好用,国人能做出这么优秀的框架其实在当时来看也是很难得的。即使到现在来说,TP 也是除了 Laravel 之外在国内影响力最大的框架。Yii 在之前还是在一家公司用过2、3年,当时是 1.6 版本的,之后换了一家公司也继续使用过 2.0 版本的用了很长一段时间。不得不提的是,Yii 框架虽然说是由不少老外维护的,但其核心创始人也是我们中国人。加上鸟哥的 Yaf 之类的框架,我们国人在 PHP 领域中的贡献还真是不少的。除了这两个之外,目前使用的项目中,还用到了 Swoole 和 Hyperf ,这两个一个是扩展框架,一个是基于 Swoole 的 MVC 框架,同样也都是我们中国人开发的。

不过, Swoole 相关的框架就不在我们这个系列的学习讨论中了,以后再开专门的系列文章来进行学习。

话说回来,除了上面比较出名的之外,我还在实际的项目中接触及使用过 CodeIgniter 以及 CakePHP ,不过都是很早之前了。如果从路线图来说的话,那么我接触框架的顺序是这样的:Cake -> CodeIgniter -> TP -> Yii -> Laravel -> Hyperf 。目前在工作使用的,正是 Laravel 和 Hyperf 。

注:Hyperf 中很多东西也有 Laravel 的影子,甚至很多内容是可以无缝迁移的。

Laravel 优雅吗?

“优雅”这个词,一直就是 Laravel 对外宣传的标语。确实优雅,最开始学习它的 源码 时,我就深刻的感觉到这人是不是 Java 转过来的,各种 Java 中的写代码的方式放到了 PHP 中,各种设计模式在这个框架中进行了应用。不过,就像前面说过的一样,各种语言的融合, 软件工程 的发展,让这些东西都不是某个语言的特定功能,而是所有语言都拥有的。

我们知道,PHP 这种动态语言的最大特点就是上手快,但是,精深难。网上的段子是 PHP 的水货一大堆,水平无下限。而 Java 这种静态语言以及很早确立的各类规范让 Java 程序员的下限控制得很好。也就是说,不管你写得多烂,起码是有下限的。而在 PHP 中,一旦工程乱了起来,很多代码就会变得没有下限了,这个有时候还真不是你的水平能决定代码质量了。即使是水平非常高的 PHP 程序员,也很容易写出各种迷惑代码出来。

而 Laravel ,正是为了解决这个问题,将你的代码规范起来。或者说,在底层上,代码是很规范的,至于上层代码怎么样,就看你能不能有自己的规范了。当然,我们也不能忽略 PSR 系列规范的作用。当然,现代的框架也基本都是遵循 PHP 的 PSR 规范的。

然而,优雅的代价就是 速度 。这也是 Laravel 学习中绕不开的一个话题。在 Laravel 中,底层还有一个 Symfony2 框架。最底层的基础功能其实在 Laravel 中又是调用了这个底层的 Symfony 2 框架,也可以说,Laravel 是对 Symfony2 的又一次优雅的封装。这种情况下,速度能快起来也是不太可能了。网上有各种框架之间速度的对比,大家可以自行查阅。

因此,在实际的项目开发中,我们经常使用 Laravel 来进行后台功能的开发,而如果是前端需要应对大量的请求并发时,一般不太会采用 Laravel 框架。当然,并不是说不能用,在一系列的优化以及开启 OpenCache 的情况下,Laravel 也是很能顶的,毕竟大部分项目和大部分公司,能到 500 并发量的都是少数。

学习 Laravel

学习 Laravel 前,建议先看看我之前的 【PHP设计模式】 相关的系列视频和文章。这个是重点中的重点。

其次,本机 测试环境 调试好 xdebug ,网上也有很多文章是讲怎么配 PHPStrom 或者 VSCode 进行断点调试的,这个东西也很重要,对于任何框架的学习来说,这玩意都非常有用。

最后,跟着撸,这个是编程学习的通用法宝,当然,撸的同时一些基础知识也最好理解掌握下来,不行就背下来,面试的时候不会亏。

总结

好了,第一篇文章轻松些,同时这些也是我对 Laravel 的一个简单的理解。有兴趣的小伙伴可以再去官方文档更深入地了解一下 Laravel 的整个发展历史,也可以更加深入的查阅一下 Laravel 和其它框架之间的一些区别与联系。我们学习的主要目的还是深入的学习 Laravel 框架的使用以及对部分源码的剖析。

当然,水平有限,之后文章中的纰漏也在所难免,也欢迎大家随时监督反馈。

文章来源:智云一二三科技

文章标题:「Laravel系列1」进入 Laravel 的世界

文章地址:https://www.zhihuclub.com/79133.shtml

关于作者: 智云科技

热门文章

网站地图