本人微信公众号:前端修炼之路,欢迎关注。
这两天有点时间,花时间学习了一下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
调试时候遇到的一些问题。主要感慨就是,文档一定要找到官方文档,然后提高英语阅读水平,随后再加上多多尝试即可。另外就是有时候百度出来的答案,自己尝试了经常会发现不好使~所以还是多多从官方文档入手。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。