欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

pHp語(yǔ)法錯(cuò)誤埋藏得太深怎么辦?(圖)

2023-11-19    分類: 網(wǎng)站建設(shè)

最近發(fā)現(xiàn)自己寫的pHp代碼運(yùn)行結(jié)果總是和預(yù)想的不一樣。在排查過(guò)程中,我發(fā)現(xiàn)大部分都是語(yǔ)法錯(cuò)誤,而且這些錯(cuò)誤在運(yùn)行之前就已經(jīng)被種下了??赡苁悄愦中牧?,也可能是php -l檢測(cè)太簡(jiǎn)單了,但是確實(shí)有些語(yǔ)法錯(cuò)誤埋得太深了(畢竟pHp是動(dòng)態(tài)語(yǔ)言)php 框架源碼分析,那么有沒(méi)有辦法消除所有的語(yǔ)法錯(cuò)誤代碼正式運(yùn)行前的錯(cuò)誤找出來(lái)?

這里介紹一個(gè)pHp代碼靜態(tài)分析工具:不需要運(yùn)行代碼,也可以對(duì)代碼進(jìn)行嚴(yán)格的語(yǔ)法檢查,盡量減少代碼的錯(cuò)誤率。

安裝

目前.10.2要求系統(tǒng)環(huán)境pHp版本不低于7.1。全局安裝:

$ composer global require phpstan/phpstan

使用

靜態(tài)分析的使用很簡(jiǎn)單:

$ phpstan analyse [-c|--configuration CONFIGURATION] [-l|--level LEVEL] [--no-progress] [--debug] [-a|--autoload-file AUTOLOAD-FILE] [--errorFormat ERRORFORMAT] [--memory-limit MEMORY-LIMIT] [--] []...

例如,分析一個(gè) pHp 文件:

$ phpstan analyse --level=7 --autoload-file=/pATH/TO/vendor/autoload.php /pATH/TO/someone.php

當(dāng)然,語(yǔ)法分析應(yīng)該由編輯來(lái)完成。寫完代碼還得切換到命令終端執(zhí)行,太麻煩了。所以這里推薦一個(gè)擴(kuò)展:pHp。

首先使用全局安裝;然后,在擴(kuò)展管理中搜索pHp并安裝第一個(gè)匹配的擴(kuò)展;重新加載重新加載窗口后,擴(kuò)展程序會(huì)自動(dòng)分析打開(kāi)的 pHp 文件。

操作效果:

例如,如果一個(gè)變量被聲明但沒(méi)有被調(diào)用,一個(gè)未聲明的變量被調(diào)用,一個(gè)未定義的方法被調(diào)用等等,都會(huì)檢測(cè)到錯(cuò)誤。

不過(guò),松散地說(shuō),$this->()方法其實(shí)是存在的,而且只是通過(guò)魔術(shù)方法()來(lái)實(shí)現(xiàn)。

high- 級(jí)別檢測(cè)到調(diào)用了未聲明的類方法時(shí),會(huì)報(bào)錯(cuò)該方法在類中不存在,即使類定義了()或()。

為了優(yōu)雅,很多應(yīng)用框架使用了很多神奇的方法,比如。

使用檢測(cè)項(xiàng),調(diào)用未聲明類的方法時(shí)自然會(huì)報(bào)很多錯(cuò)誤。對(duì)于這個(gè)問(wèn)題,可以使用-ide-來(lái)減少誤報(bào)。

安裝-ide-

$ cd /pATH/TO/LARAVEL_pROJECT
$ composer require barryvdh/laravel-ide-helper

注射

編輯app//.php中的注冊(cè)方法:

app->environment() !== 'production') {
            $this->app->register(\barryvdh\LaravelIdeHelper\IdeHelperServiceprovider::class);
        }
        // ...
    }

生成.php

$ cd /pATH/TO/LARAVEL_pROJECT
$ php artisan ide-helper:generate

此時(shí)框架中的類,原來(lái)通過(guò)()獲取的靜態(tài)方法,都在.php中聲明。檢查項(xiàng)目代碼時(shí)引入.php文件可以減少誤報(bào)。

配置

在項(xiàng)目根目錄下新建一個(gè).neon文件:

parameters:
    autoload_files:
        - %currentWorkingDirectory%/_ide_helper.php

在項(xiàng)目根目錄下,執(zhí)行命令時(shí)會(huì)自動(dòng)使用.neon配置。

終于

在編寫時(shí)應(yīng)及時(shí)發(fā)現(xiàn)代碼中的語(yǔ)法錯(cuò)誤php 框架源碼分析,以盡量減少正式運(yùn)行時(shí)的錯(cuò)誤。

分享文章:pHp語(yǔ)法錯(cuò)誤埋藏得太深怎么辦?(圖)
本文路徑:http://aaarwkj.com/news1/295351.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站改版、軟件開(kāi)發(fā)、用戶體驗(yàn)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
天天干夜夜操天天射| 欧美日韩在线高清一区二区| 亚洲男人天堂av电影| 午夜未满十八禁止观看| 成人偷拍自拍在线视频| 国产精品一久久香蕉产线看| 国产精品剧情在线播放| 中文字幕乱码日韩一区| 国产福利在线观看网站| 91免费福利激情视频| 91伊人久热精品午夜福利| 后入动漫视频在线观看| 在线国产精品中文字幕| 肉肉开房天天操夜夜操| 久久草福利视频在线观看| 最新国产av网址大全| 亚洲第六页亚洲第一页| 97日韩在线免费视频网站| 三欲一区二区三区中文字幕 | 国产乱码免费一区二区三区| 人妻少妇中文字幕在线播放| 国产亚洲高清国产拍精品久久| 日韩国产精品亚洲欧美在线| 成人午夜激情福利动态| 欧美黑人在线一区二区| 中文字幕国产精品一二区| 日产精品一级二级三级爱| 精品国产女同一区二区| 亚洲欧美日韩乱码综合久久| 粉嫩美女精品一区二区| 日本高清加勒比免费在线| 国产,欧美,日韩,日日骚| 在线欧美日韩一区二区三区| 精品成人18亚洲av播放| 国产三级精品正在播放| 日本岛国大片在线视频| 97久久久人妻精品一区 | 日韩不卡高清免费在线视频| 国产日韩欧美视频在线观看| 无套内谢少妇高朝毛片| 欧美精品欧美精品一区二区|