1. 程式人生 > 其它 >《Symfony 5全面開發》視訊教程02、安裝執行環境並初始化Symfony專案

《Symfony 5全面開發》視訊教程02、安裝執行環境並初始化Symfony專案

Symfony是PHP框架,在學習Symfony之前,我們需要安裝PHP執行環境。如果你是MacOS系統,可以使用Homebrew來安裝PHP執行環境。

Homebrew官網
https://brew.sh/

我們使用brew search來搜尋PHP,最新的PHP是8.0版本。我這裡已經安裝過了,後面會打上對號。

如果你沒有安裝過的話,你可以使用brew install命令安裝PHP,所有的過程都是自動化的。我這裡已經安裝過了,就不再安裝了。

在安裝完成之後, 我們可以使用 php --version 來檢視PHP的版本號,來驗證是否安裝成功了。

另外我們還需要安裝一些PHP的擴充套件。PHP是一種指令碼語言,它並不能像其他動態語言一樣可以直接下斷點來逐步跟蹤程式碼,我們需要使用xdebug

外掛來完成這些功能。 我們使用PECL工具來安裝xdebug,首先我們更新一下PECL的所有通道,搜尋xdebug,最新的版本是3.0.4。我這裡已經安裝過了,如果你沒有安裝的話,可以使用 pecl install 命令安裝xdebug。 所有的過程都是自動化的,包括啟用xdebug,xdebug的配置,我們到用到的時候會講解。

Symfony有很多元件和第三方的包,我們使用composer管理這些元件和包。

Composer 
https://getcomposer.org/

同樣的我們使用Homebrew來安裝composer,我這裡已經安裝過了composer。如果你沒有安裝的話,可以使用brew install composer

來完成composer的安裝。

因為composer需要從國外下載各個包的映象,可能網路比較卡,我們需要將composer切換到國內映象。搜尋composer aliyun,使用阿里雲的映象。我們希望全域性配置composer的映象源,複製這段命令。

#composer全域性配置阿里雲映象命令
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

再使用 composer config -g -l 來檢視映象源是否已經配置成功了。

另外我們還需要安裝docker,docker提供了一種容器化的技術。我們使用docker來管理資料庫或者一些其他服務,我們安裝docker桌面版。 我這裡已經安裝過了,如果你沒有安裝的話,需要下載對應的版本,並且進行安裝。

下面我們需要安裝GitGit可以對程式碼的版本進行管理,我們仍然使用Homebrew來對Git進行安裝。 我這裡已經安裝過了,如果你沒有安裝的話,你可以直接使用brew install來直接安裝Git。

下一步我們需要安裝Symfony的命令列工具,回到Symfony官網,點選download。 我們是MacOS系統,直接複製這個命令列,命令列會自動下載並安裝Symfony命令列工具。最後我們需要把命令列工具安裝到系統的環境變數目錄。我已經安裝過了,這裡就不再安裝了。

#symfony cli安裝命令列
curl -sS https://get.symfony.com/cli/installer | bash

我們可以檢視Symfony命令列工具的版本號,來檢視安裝是否已經成功了,我這裡已經安裝成功了。 Symfony命令列工具,安裝完成後,我們可以使用symfony check req來檢查一下Symfony的執行環境是否已經安裝完成了,它提示OK這就可以了。

下面我們使用Symfony命令列工具來建立我們的專案,回到官網,Symfony提供了new命令來建立專案。如果使用--full選項,它將建立一個web應用程式。 如果你想建立一個微服務或者命令列應用程式或者API,我們直接使用new命令就可以了。 兩者的區別就是--full命令會安裝所有與web開發相關的元件或者包。

我們為了學習Symfony的各個元件的安裝及使用,我們直接使用symfony new命令,來建立一個最簡化的Symfony專案。我們在當前使用者目錄建立專案,貼上剛才程式碼,修改專案的名稱, 我們將建立一個部落格專案,部落格專案就叫做teebblog。

Symfony命令列工具將使用composer工具來建立一個Symfony的骨架專案,完成之後,它會自動在我們的專案目錄中初始化Git目錄。這樣我們的專案就已經安裝完成了。

在下一節我們將使用Phpstorm來開啟專案目錄,並且講解一下Symfony的目錄結構。

本文轉載於: https://www.teebb.com/content/symfony-init