日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Laravel系列1】進入 Laravel 的世界

 硬核項目經(jīng)理 2022-01-06

進入 Laravel 的世界

歡迎來到 Laravel 系列文章的學習。從這篇文章開始,我們開始進入到 PHP 框架相關的學習中。在這其中,我們主要學習的就是 Laravel 框架,那么為什么是 Laravel 呢?明明 TP 、 Yii 也是很多人在使用的呀。

為什么是 Laravel

一說到 PHP 的框架,三巨頭是繞不開的,也就是 ThinkPHP 、Yii 以及我們馬上要學習的主角 Laravel 。當然,還有 CodeIgniter 、 CakePHP 以及大名鼎鼎的 Zend Framework 等等非常多的優(yōu)秀框架。但是,從當前的市場環(huán)境來看,Laravel 框架是絕對的主流。TP 框架在 5.x 版本的時候,基本就像是一個 Laravel 的翻版,而 6.x 系列還沒有詳細的看過,不過總體的思想其實都是和 Laravel 很接近的。

就像語言的互相借鑒融合一樣,框架之間也是這樣的。我們不能說 TP 或者 Yii 不好,而且還應該多多支持 TP 這樣的優(yōu)秀國產(chǎn)開源框架。但是他們確實在慢慢地向 Laravel 中的很多思想靠攏。所以,我們一次到位,直接來學習 Laravel 框架,同時也能加深我們對 TP 以及其它框架的理解。

順便說說我使用過的其它框架吧,在 TP 的 3.x 時期,使用過 TP 做過不少小網(wǎng)站,方便,簡潔,確實很好用,國人能做出這么優(yōu)秀的框架其實在當時來看也是很難得的。即使到現(xiàn)在來說,TP 也是除了 Laravel 之外在國內(nèi)影響力最大的框架。Yii 在之前還是在一家公司用過2、3年,當時是 1.6 版本的,之后換了一家公司也繼續(xù)使用過 2.0 版本的用了很長一段時間。不得不提的是,Yii 框架雖然說是由不少老外維護的,但其核心創(chuàng)始人也是我們中國人。加上鳥哥的 Yaf 之類的框架,我們國人在 PHP 領域中的貢獻還真是不少的。除了這兩個之外,目前使用的項目中,還用到了 Swoole 和 Hyperf ,這兩個一個是擴展框架,一個是基于 Swoole 的 MVC 框架,同樣也都是我們中國人開發(fā)的。

不過,Swoole 相關的框架就不在我們這個系列的學習討論中了,以后再開專門的系列文章來進行學習。

話說回來,除了上面比較出名的之外,我還在實際的項目中接觸及使用過 CodeIgniter 以及 CakePHP ,不過都是很早之前了。如果從路線圖來說的話,那么我接觸框架的順序是這樣的:Cake -> CodeIgniter -> TP -> Yii -> Laravel -> Hyperf 。目前在工作使用的,正是 Laravel 和 Hyperf 。

注:Hyperf 中很多東西也有 Laravel 的影子,甚至很多內(nèi)容是可以無縫遷移的。

Laravel 優(yōu)雅嗎?

“優(yōu)雅”這個詞,一直就是 Laravel 對外宣傳的標語。確實優(yōu)雅,最開始學習它的源碼時,我就深刻的感覺到這人是不是 Java 轉過來的,各種 Java 中的寫代碼的方式放到了 PHP 中,各種設計模式在這個框架中進行了應用。不過,就像前面說過的一樣,各種語言的融合,軟件工程的發(fā)展,讓這些東西都不是某個語言的特定功能,而是所有語言都擁有的。

我們知道,PHP 這種動態(tài)語言的最大特點就是上手快,但是,精深難。網(wǎng)上的段子是 PHP 的水貨一大堆,水平無下限。而 Java 這種靜態(tài)語言以及很早確立的各類規(guī)范讓 Java 程序員的下限控制得很好。也就是說,不管你寫得多爛,起碼是有下限的。而在 PHP 中,一旦工程亂了起來,很多代碼就會變得沒有下限了,這個有時候還真不是你的水平能決定代碼質(zhì)量了。即使是水平非常高的 PHP 程序員,也很容易寫出各種迷惑代碼出來。

而 Laravel ,正是為了解決這個問題,將你的代碼規(guī)范起來?;蛘哒f,在底層上,代碼是很規(guī)范的,至于上層代碼怎么樣,就看你能不能有自己的規(guī)范了。當然,我們也不能忽略 PSR 系列規(guī)范的作用。當然,現(xiàn)代的框架也基本都是遵循 PHP 的 PSR 規(guī)范的。

然而,優(yōu)雅的代價就是 速度 。這也是 Laravel 學習中繞不開的一個話題。在 Laravel 中,底層還有一個 Symfony2 框架。最底層的基礎功能其實在 Laravel 中又是調(diào)用了這個底層的 Symfony2 框架,也可以說,Laravel 是對 Symfony2 的又一次優(yōu)雅的封裝。這種情況下,速度能快起來也是不太可能了。網(wǎng)上有各種框架之間速度的對比,大家可以自行查閱。

因此,在實際的項目開發(fā)中,我們經(jīng)常使用 Laravel 來進行后臺功能的開發(fā),而如果是前端需要應對大量的請求并發(fā)時,一般不太會采用 Laravel 框架。當然,并不是說不能用,在一系列的優(yōu)化以及開啟 OpenCache 的情況下,Laravel 也是很能頂?shù)?,畢竟大部分項目和大部分公司,能?500 并發(fā)量的都是少數(shù)。

學習 Laravel

學習 Laravel 前,建議先看看我之前的 【PHP設計模式】 相關的系列視頻和文章。這個是重點中的重點。(公眾號下方菜單中有視頻和文章的鏈接按扭)

其次,本機測試環(huán)境調(diào)試好 xdebug ,網(wǎng)上也有很多文章是講怎么配 PHPStrom 或者 VSCode 進行斷點調(diào)試的,這個東西也很重要,對于任何框架的學習來說,這玩意都非常有用。

最后,跟著擼,這個是編程學習的通用法寶,當然,擼的同時一些基礎知識也最好理解掌握下來,不行就背下來,面試的時候不會虧。

總結

好了,第一篇文章輕松些,同時這些也是我對 Laravel 的一個簡單的理解。有興趣的小伙伴可以再去官方文檔更深入地了解一下 Laravel 的整個發(fā)展歷史,也可以更加深入的查閱一下 Laravel 和其它框架之間的一些區(qū)別與聯(lián)系。我們學習的主要目的還是深入的學習 Laravel 框架的使用以及對部分源碼的剖析。

當然,水平有限,之后文章中的紕漏也在所難免,也歡迎大家隨時監(jiān)督反饋。

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多