本人微信公衆號:前端修煉之路,歡迎關注。
這兩天有點時間,花時間學習了一下PHP
基礎語法和語句。因爲個人比較喜歡Visual Studio Code
這款編輯器,所以學習我主要記錄一下使用VSCode
學習PHP
的遇到的一些問題。其中最主要的就是怎樣使用VSCode
調試PHP
代碼。
語法檢查和格式化
爲了更加規範的學習PHP
,我決定使用一個插件。如果在VSCode
中搜索php format
插件,會有三個排名最靠上的插件。我嘗試了半天,其中PHP Intephense
這個插件最好用。這個插件的評價是五星坪的,很容易跟另外的一個PHP IntelliSense
弄混淆了。PHP IntelliSense
這個插件的評價是三星,另外就是如果需要代碼格式化的話,還得組合使用 PHP CS Fixer,我配置了半天比較麻煩。而且不知道爲何,一直無法格式化。
所以強烈推薦直接安裝PHP Intelephense。只要安裝了這個插件,代碼提示、語法檢查、格式化就都有了。
phpStudy
爲了更愉快的學習PHP
,需要一套後臺集成環境,我這裏選擇的是PHP Study,光聽名字,我就知道適合自己了。:)
軟件的安裝和使用,就不記錄了。比較方便的是,PHP Study
集成了Apache
、Nginx
、IIS
服務器,並且集成了php5
和php7
,非常的適合開發和學習。
PHP Debug
在VSCode
中搜索插件PHP Debug,將這個插件安裝到VSCode
中。從這個插件的文檔中,可以發現Installation
,也就是說安裝的說明。因爲不會PHP,再加上英語水平不是特別好,所以這個文檔看了好久,才弄明白。特此記錄一下。
- 安裝
XDebug
。先不要直接下載XDebug
,文檔中有一行特別加粗的說明,一定要操作一下的。
I highly recommend you make a simple test.php file, put a phpinfo(); statement in there, then copy the output and paste it into the XDebug installation wizard. It will analyze it and give you tailored installation instructions for your environment.
上文提示就是說,強烈建議我們創建一個test.php
,創建一條語句phpinfo()
,然後將得到的信息粘貼到XDebug installation wizard這個頁面中。這個頁面會分析好你的PHP環境,已經需要安裝XDebug
的步驟。
test.php
<?php
phpinfo();
?>
在test.php
中創建如上內容,然後在瀏覽器中打開,會看到類似如下信息:
然後將頁面ctrl+a
全部拷貝,粘貼到XDebug installation wizard這個頁面中。點擊頁面最下方的按鈕Analyse my phpinfo() output
。會得到類似如下的內容:
其中有4個步驟,照着做一下。第一個是下載xdebug
;然後將文件移動到指定目錄;最後打開php.ini
文件,將zend_extension
添加上。然後照着文檔,添加xdebug.remote_enable
和xdebug.remote_autostart
。完整的代碼如下:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension="D:\Program Files\Php\PHPTutorial\php\php-7.1.13-nts\ext\php_xdebug-2.7.2-7.1-vc14-nts.dll"
修改好php.ini
文件之後,別忘記重啓服務器,也就是phpStudy
。
vsCode debug
首先在phpStudy
的PHPTutorial\WWW
目錄之下,添加一個測試文件index.php
。添加幾行測試代碼:
<?php
$x = 10;
echo "Hello PHP<br>";
echo $x;
?>
然後點擊vsCode
的debug
按鈕,或者ctrl+shift+d
,開啓調試窗口。如下:
launch.json
中,配置了需要監聽的xdebug
的端口9000
,直接使用默認的就好。
最後,只需要在代碼中設置斷點,然後刷新瀏覽器就能看見vscode
進入斷點了。如下圖:
注意:我主要採坑的地方是在php.ini
這個配置文件中。xdebug.remote_enable
和xdebug.remote_autostart
,這兩個配置文檔中說的是設置爲1
。我設置之後經常會發現頁面無法訪問。後來我找到xdebug
的官網文檔,發現這兩個屬性也可以是boolean
,文檔看這裏:remote_enable。所以如果有時無法訪問到頁面時,將值修改爲true
即可。
以上就是我配置VSCode
的PHP
調試時候遇到的一些問題。主要感慨就是,文檔一定要找到官方文檔,然後提高英語閱讀水平,隨後再加上多多嘗試即可。另外就是有時候百度出來的答案,自己嘗試了經常會發現不好使~所以還是多多從官方文檔入手。