安裝

在所有文章開始之前,首先要安裝環境。

PHP

PHP 版本建議使用 PHP 7.2 或者 PHP 7.3,至少版本應為 7.2.5。

~$ sudo apt install php7.2 php-pear php7.2-xml php7.2-curl php7.2-dom php7.2-zip php7.2-mysql php7.2-mbstring

MySQL

MySQL 版本建議使用 MySQL 5.7,如果還沒安裝 MySQL 的話可以考慮使用 Docker 來快速建立一個 MySQL。

~$ sudo apt install docker docker.io
~$ docker login
# Optional - 開啟一個 Docker instance
~$ sudo docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<密碼> -d mysql:5.7

Symfony CLI

安裝 CLI 的方法可以參考這裡:https://symfony.com/download,執行完這個指令之後基本環境就安裝完畢了,如果有一些其他的需求比如說 Redis 或 Swoole 等,會在需要用的時候解釋如何安裝。

~$ wget https://get.symfony.com/cli/installer -O - | bash

檢查運行環境

在我的電腦中使用 symfony check:requirements 這個指令結果如下,基本上只要看到 OK 字眼就算完成了

~$ symfony check:requirements

Symfony Requirements Checker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> PHP is using the following php.ini file:
/etc/php/7.2/cli/php.ini

> Checking Symfony requirements:

...............W..........

                                              
 [OK]                                         
 Your system is ready to run Symfony projects 
                                              

Optional recommendations to improve your setup
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 * intl extension should be available
   > Install and enable the intl extension (used for validators).

Hello World

首先我們透過剛剛安裝好的 Symfony CLI 產生一個應用程式,其中 --full 是用來創建一個傳統網站應用程式的指令的 flag,他會把所有的元件都安裝進來,在學習過程中建議使用這個選項,待熟悉之後若想按照自己的想法安裝元件時,再將這個選項去掉,就可以得到一個最輕量的 Symfony 框架了

# 創建 Symfony 專案
~$ symfony new --full my_symfony

# 進入專案資料夾並開啟開發用伺服器
~$ cd my_symfony
~$ symfony server:start

                                                           
 [WARNING] run "symfony server:ca:install" first if you want to run the web se  
 rver with TLS support, or use "--no-tls" to avoid this warning                 
                                                                                

Jul  2 05:52:47 |DEBUG| PHP    Reloading PHP versions 
Jul  2 05:52:47 |DEBUG| PHP    Using PHP version 7.2.31 (from default version in $PATH) 
Jul  2 05:52:47 |INFO | PHP    listening path="/usr/bin/php7.2" php="7.2.31" port=37853
Jul  2 05:52:47 |DEBUG| PHP    started 
                                                                                
 [OK] Web server listening                                                      
      The Web server is using PHP CLI 7.2.31                                    
      http://127.0.0.1:8000

執行完上述的指令後,我們打開瀏覽器訪問這個連結:http://127.0.0.1:8000

看到這個畫面就代表設定已經成功,可以開始學習 Symfony 了。