php语法检查的方法总结

我们可以使用lint检查

用lint静态检查。

静态是一种只检查语法描述方法而不执行程序的方法。

此时使用lint命令。

※php_check_syntax这个语法检查函数已经被废止,所以不能使用。

然后准备实际出现错误的php文件。

lint_test.php

<?php
echo "error"

它只是一个在屏幕上显示error的代码。

将lint_test.php移动到某个目录并发出以下命令。

php -l lint_test.php

执行结果

PHP Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2 Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2Errors parsing lint_test.php

syntax error=输出语法错误指示。

它还返回错误行数为line 2。

因为有unexpected end of file,是第2行没有“;”是原因。

那么,修改lint_test.php,再次执行lint命令。

<?php
echo "error";

执行结果为:

No syntax errors detected in lint_test.php

显示没有语法错误。

使用xdebug动态检查语法错误

首先,启用xdebug。

①从下面的官方站点下载xdebug,并记下下载的.dll文件所在的本地环境的路径。

https://xdebug.org/download.php

② 将以下内容添加到php.ini中。

zend_extension = ①中记录的路径

②重启Web服务器(Apache等)

这样就完成了设置。

使用xdebug检查错误

我们运行上述使用的lint_test.php。

lint_test.php

<?php
echo "error"

有一个错误,因为最后没有分号。

内容与执行lint时的内容相同,但附加了一些装饰以便于查看。

与lint的最大区别在于执行代码后出现的错误,因此可以说由于动态检查而出现错误。

(0)

相关推荐

  • redis在php中常用的语法【推荐】

    Redis是一个C/S结构类型的服务,C是指客户端,S是指服务端,客户端与服务端可以通过网络进行通信.对于redis而言,服务端上需要安装redis服务,那客户端呢?其实redis为很多语言提供了API,都可以通过语言来进行客户端和服务端的通信,对于php语言而言,我们可以通过安装redis扩展实现客户端与服务端的通信. String 类型操作 string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象

  • PHP注释语法规范与命名规范详解篇

    HP注释规范 注释在写代码的过程中非常重要,好的注释能让你的代码读起来更轻松,在写代码的时候一定要注意注释的规范. "php是一门及其容易入门的语言,刚入门的新手不到几分钟的时间可能就会用echo打印出一个hello world !但是他是真正的程序员吗?怎么来定义程序员呢?如果想真正成为一个程序员,那么就必须遵循一套程序书写规范," 我们经常编写一些函数,但是这些函数可能也只有自己能看得懂,甚至过一段时间自己也不认识自己写的了,那么怎么办呢?最好的办法当然是给给自己的代码加上注释.

  • PHP定时备份MySQL与mysqldump语法参数详解

    先来为大家介绍几个MySQL备份命令mysqldump常用操作实例: 1.mysqldump备份 只导出表结构 d:/PHP/xampp/mysql/bin/mysqldump -h127.0.0.1 -P3306 -uroot -p123456 snsgou_sns_test --no-data --default_character-set=utf8 > d:/Python/data/snsgou_sns_test_table.sql mysqldump只导出数据 d:/PHP/xampp/

  • PHP7新特性之抽象语法树(AST)带来的变化详解

    本文分析了PHP7新特性之抽象语法树(AST)带来的变化.分享给大家供大家参考,具体如下: 这里大部分内容参照 AST 的 RFC 文档而成:https://wiki.php.net/rfc/abstractsyntaxtree,为了易于理解从源文档中节选部分进行介绍. 本文并不会告诉你抽象语法树是什么,这需要你自己去了解,这里只是描述 AST 给 PHP 带来的一些变化. 新的执行过程 PHP7 的内核中有一个重要的变化是加入了 AST.在 PHP5中,从 php 脚本到 opcodes 的执

  • php语法检查的方法总结

    我们可以使用lint检查 用lint静态检查. 静态是一种只检查语法描述方法而不执行程序的方法. 此时使用lint命令. ※php_check_syntax这个语法检查函数已经被废止,所以不能使用. 然后准备实际出现错误的php文件. lint_test.php <?php echo "error" 它只是一个在屏幕上显示error的代码. 将lint_test.php移动到某个目录并发出以下命令. php -l lint_test.php 执行结果 PHP Parse erro

  • javascript使用eval或者new Function进行语法检查

    使用new Function( ) 来进行语法检查 eval( ) 方法是不能乱用的,在不适当的时候使用eval( ) 方法可能导致整个程序都会出问题的: 而new Function( ) 就没这么大问题.虽然new Function( ) 在任何情况下,构造的函数都是在全局作用域下直接工作的,但只作语法检查的话,并不会因为作用域问题而产生意外结果,只要你不直接调用通过它构造的新函数. 在eval( ) 接受的参数前面增加"0," 其实这是由于IE中存在一个bug.出于某种原因,如果你

  • Vscode关闭Eslint语法检查的多种方式(保证有效)

    目录 前言 一.删除Eslint相关依赖项 二.关闭语法检查 1.临时关闭某行检查 2.临时关闭以下所有检查 3.修改配置项 三.设置中关闭语法检查 补充:常见规则列表 总结 前言 ESLint 是一个插件化的 javascript 代码检测工具,它可以用于检查常见的 JavaScript 代码错误,也可以进行代码风格检查,能够很好的执行编码规范,提高项目代码的质量. 但是开发或是学习当中,有时候模板是从github或是gitee上下载下来的半成品项目,项目内部做了好些相关的项目配置,比如Esl

  • 关于VSCode 配置使用 PyLint 语法检查器的问题

    1.首先安装 “Python” 插件 2.安装 pylint 语法检查器 推荐安装在当前的 Python 环境中 pip3 install pylint 3.启用 pylint 语法检查器 打开 VSCode 的配置文件 添加以下内容: { // 代码检查 "python.linting.enabled": true, "python.linting.pylintEnabled": true, // 保存 Python 文件时检查语法 "python.li

  • Zend Studio去除编辑器的语法警告设置方法

    环境:Zend Studio 8.0 Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studio.Zend Studio的编辑器可以帮我们指出语法错误和警告,但是太多的警告有时让我们的代码看起来很乱,很不舒服.如图: 如何去除语法检查中的警告呢?Google后没有找到答案,只好自己摸索,终于找到了: 打开window==〉preferences,找到如下选项,将右边的钩全打掉即可. 一下子变得清爽了:

  • 避免Smarty与CSS语法冲突的方法

    本文实例讲述了避免Smarty与CSS语法冲突的方法.分享给大家供大家参考.具体分析如下: 熟悉CSS的人很快就会发现Smarty和CSS的语法存在冲突,因为二者都需要使用大括号{}.如果简单地将CSS标记嵌入到HTML文档首部,将导致"不可识别标记"错误: <html> <head> <title>{$title}</title> <style type="text/css"> p{ margin::2p

  • Sql Server事务语法及使用方法实例分析

    本文实例讲述了Sql Server事务语法及使用方法.分享给大家供大家参考,具体如下: 事务是关于原子性的.原子性的概念是指可以把一些事情当做一个不可分割的单元来看待.从数据库的角度看,它是指应全部执行或全部不执行的一条或多条语句的最小组合. 为了理解事务的概念,需要能够定义非常明确的边界.事务要有非常明确的开始和结束点.SqlServer中的每一条select.insert.update.delete语句都是隐式事务的一部分.即使只发出一条语句,也会把这条语句当做一个事务-或执行语句的所有内容

  • SqlServer事务语法及使用方法详解

    事务是关于原子性的.原子性的概念是指可以把一些事情当做一个不可分割的单元来看待.从数据库的角度看,它是指应全部执行或全部不执行的一条或多条语句的最小组合.为了理解事务的概念,需要能够定义非常明确的边界.事务要有非常明确的开始和结束点.SqlServer中的每一条select.insert.update.delete语句都是隐式事务的一部分.即使只发出一条语句,也会把这条语句当做一个事务-或执行语句的所有内容或什么都不执行.但是如果需要的不只是一条,而是多条语句呢?在这种情况下,就需要有一种方法来

  • 在PHP中检查PHP文件是否有语法错误的方法

    之前在当当的时候的一个项目中用到了一个简单的模板引擎,其实也是借鉴discuz来做的模板引擎,很简单,它所作的事情就是把一些自定义的标签编译成php代码.已经说了很简单了,所以编译的时候也名优进行模板语法的检查,那么在开发过程中就会出现编译出来的php文件有语法问题,有语法问题没有关系,我修改重新编译一下就好了.首先不能在每次请求的时候都把php模板重新编译一下,会严重影响性能,折中的处理时在每个编译好的php文件末尾检查一下该模板文件是否已经修改过,根据设定的更新频率,如果又需要则重新编译模板

  • 详解关闭令人抓狂的ESlint 语法检测配置方法

    刚刚开始的小伙伴是不是空格报错少一行报错各种错?是不是觉得快被限制的失去了自由的思绪了?受折磨后找到了不错的文章来取消eslint语法检测限制,作为学习笔记摘自segmentfault 其实我并不反对这些语法检测,但是像许多反个人意愿的那就真的不得不吐槽了,比如vue-cli脚手架创建的默认eslint规则: 代码末尾不能加分号 ; 代码中不能存在多行空行 tab键不能使用,必须换成两个空格 代码中不能存在声明了但未使用的变量 以上规则个人认为真的反人类!调试代码太难了. 关闭eslint 这里

随机推荐