我是學習了c#(不算精通),又轉戰php的,看了下php的框架laravel,感覺這個作者也太牛了

wwzorz發表於2022-01-27

今天是我學習和使用laravel的第三天,因為我使用的是windows系統,感覺上手應該很容易啊,沒想到裝個環境就快把人給整瘋了,看了官方文件說安裝這個(laragon-portable)上手比較快,我就裝了,後來發現這個裡面裝的各種擴充套件我都裝了埠衝突,連服務都跑不起來(mysql和nginx),最後迫於無賴我把它刪除掉了

然後繼續找尋在windows下laravel怎麼安裝的解決方案,最後找到了,是不斷的通過看別人寫的部落格和文章才知道,沒有必要搞全家桶這個(laragon-portable)工具

解決方案如下:小白可以參考下

  • 1.直接從php官網下載最新的php安裝包

  • 2.下載composer包管理器並安裝,安裝時注意關聯第一步中的php

  • 3.然後使用composer安裝laravel管理器,當然你也可以不用安裝laravel管理器,直接使用composer來建立laravel專案也是可以的

  • 4.關於(啟動專案)使用php artisan serve 這個命令的時候務必在已經新建好的laravel專案目錄中去執行,程式啟動之後預設8000埠,你自己可以在啟動的時候指定也是可以的,例如:

    php artisan serve --host 127.0.0.1 --port 9001
  • 5.程式載入檔案執行過程說明和問題

    • a.我用process explorer看了下我啟動服務的程式是有php承載的我安裝的php版本是8.1,但是例如像c#釋出服務都是寄宿於iis或者kestrel伺服器,但是我確實沒有搞懂這個php的內建伺服器是由什麼服務來提供服務的
    • b.服務啟動時會首先載入專案的根目錄下的server.php,然後server.php中的程式碼會執行根目錄資料夾public中的index.php,對於初學者來說先止步於這裡,如果你想了解執行原理就必須去學習php的相關知識了(依賴注入 中介軟體 設計模式等等)都需要有一個大致的瞭解了才能去理解原始碼,理解作者的思路和架構

c#可以通過斷點除錯看原始碼,貌似像php這種解釋性語言沒法打斷點除錯,只能是看官方文件了:joy: :joy:
那咋們就從index.php中的autoload.php看起吧,

Composer 提供了一個方便的、自動生成的類載入器(註冊自動載入)

require __DIR__.'/../vendor/autoload.php';

有些小夥伴可能要問了 這個自動載入器到底是用來幹啥的,我之前也不知道看了 www.cnblogs.com/chihuobao/p/989520...

才知道,其實就是之前我們經常使用到的 require 和include的功能,相當於把他兩給封裝了看起來程式碼整潔優雅了,把需要註冊的類交由這個載入器來完成註冊,有點像c#中的依賴注入,其實它就是專門來造(例項化)物件的

不知道這樣解釋對不對

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章