이 글은 주로 PHP의 debug_backtrace() 함수 인쇄 호출에 대한 디버깅 정보를 소개합니다. 특정 참조 값이 있으므로 필요한 친구들이 참조할 수 있도록 공유합니다.
#🎜🎜 # debug_backtrace(PHP 4 >= 4.3.0, PHP 5, PHP 7)debug_backtrace — 역추적 생성 )#🎜🎜 #Description
arraydebug_backtrace([ int ="parameter">$options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit
= 0 ] ] )$options
= DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit
= 0 ]] )
debug_backtrace() 产生一条 PHP 的回溯跟踪(backtrace)。
参数
options
-
截至 5.3.6,这个参数是以下选项的位掩码:
debug_backtrace() 选项 DEBUG_BACKTRACE_PROVIDE_OBJECT 是否填充 "object" 的索引。 DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。 在 5.3.6 之前,仅仅能使用的值是
TRUE
或者FALSE
,分别等于是否设置DEBUG_BACKTRACE_PROVIDE_OBJECT
选项。 limit
截至 5.4.0,这个参数能够用于限制返回堆栈帧的数量。 默认为 (
limit
=0) ,返回所有的堆栈帧。
返回值
返回一个包含众多关联数组的 array。 以为为有可能返回的元素:
名字 | 类型 | 说明 |
---|---|---|
function | string | 当前的函数名,参见: __FUNCTION__。 |
line | integer | 当前的行号。参见: __LINE__。 |
file | string | 当前的文件名。参见: __FILE__。 |
class | string | 当前 class 的名称。参见 __CLASS__ |
object | object | 当前的 object。 |
type | string | 当前调用的类型。如果是一个方法,会返回 "->"。如果是一个静态方法,会返回 "::"。 如果是一个函数调用,则返回空。 |
args | array | 如果在一个函数里,这会列出函数的参数。 如果是在一个被包含的文件里,会列出包含的文件名。 |
更新日志
版本 | 说明 |
---|---|
5.4.0 | 添加了可选的参数 limit 。 |
5.3.6 | 参数 provide_object 改成 options ,并且增加了可选参数 DEBUG_BACKTRACE_IGNORE_ARGS 。 |
5.2.5 | 添加了可选参数 provide_object
|
debug_backtrace()는 PHP 역추적을 생성합니다. |
- #🎜🎜#
옵션
# 🎜🎜# -
5.3.6부터 이 매개변수는 다음 옵션의 비트마스크입니다: #🎜🎜#
debug_backtrace() 옵션#🎜🎜# #🎜🎜#DEBUG_BACKTRACE_PROVIDE_OBJECT#🎜🎜##🎜🎜#여부 "객체"의 인덱스를 채우는 것입니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#DEBUG_BACKTRACE_IGNORE_ARGS#🎜🎜##🎜🎜#모든 함수/메서드 매개변수를 포함하여 "args"의 인덱스를 무시할지 여부는 메모리 오버헤드를 절약할 수 있습니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#5.3.6 이전에는 TRUE
또는FALSE만 사용할 수 있었습니다. code>, 각각 <code>DEBUG_BACKTRACE_PROVIDE_OBJECT
옵션 설정 여부와 동일합니다. #🎜🎜#- #🎜🎜#
제한
#🎜🎜# #🎜🎜#Return 값 #🎜🎜#5.4 기준 . 0인 경우 이 매개변수를 사용하여 반환되는 스택 프레임 수를 제한할 수 있습니다. 기본값은 (
limit
=0)이며 모든 스택 프레임을 반환합니다. #🎜🎜#많은 연관 배열이 포함된 #🎜🎜#배열을 반환합니다. 반환될 수 있는 요소: #🎜🎜##🎜🎜#
debug_backtrace()#🎜🎜# 이름 유형 설명 #🎜🎜#버전 설명 #🎜🎜#제한
. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#5.3.6#🎜🎜##🎜🎜#매개변수provide_object
가옵션
, 선택적 매개변수DEBUG_BACKTRACE_IGNORE_ARGS
가 추가되었습니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#5.2.5#🎜🎜##🎜🎜#추가된 선택적 매개변수provide_object
. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#5.1.1#🎜🎜##🎜🎜#현재 #🎜🎜#객체를 가능한 반환 요소로 추가했습니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Example
Example #1 debug_backtrace() 예제
<?php // filename: /tmp/a.php function a_test($str) { echo "\nHi: $str"; var_dump(debug_backtrace()); } a_test('friend'); ?> <?php // filename: /tmp/b.php include_once '/tmp/a.php'; ?>
Execution 반환된 결과는 다음과 유사합니다. #🎜🎜 #
Hi: friend array(2) { [0]=> array(4) { ["file"] => string(10) "/tmp/a.php" ["line"] => int(10) ["function"] => string(6) "a_test" ["args"]=> array(1) { [0] => &string(6) "friend" } } [1]=> array(4) { ["file"] => string(10) "/tmp/b.php" ["line"] => int(2) ["args"] => array(1) { [0] => string(10) "/tmp/a.php" } ["function"] => string(12) "include_once" } }
위 내용은 모두의 학습에 도움이 되기를 바랍니다. 관련 권장 사항: - #🎜🎜#
위 내용은 호출 위치에서 디버깅 정보를 인쇄하는 PHP의 debug_backtrace() 함수 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER

TomakePhPapplicationSfaster, followthesesteps : 1) useopCodeCaching likeOpcachetOrpectipiledScriptBecode.2) MinimizedAtabaseQueriesByUsingQueryCachingandEfficientIndexing.3) leveragephp7 assistorBetterCodeeficiession.4) 구현 전략적 지시

toImprovePhPapplicationSpeed, followthesesteps : 1) enableOpCodeCachingWithApcuTeCeScripteXecutionTime.2) 구현 구현

의존성 주입 (DI)은 명시 적으로 전이적 종속성에 의해 PHP 코드의 테스트 가능성을 크게 향상시킵니다. 1) DI 디퍼 커플 링 클래스 및 특정 구현은 테스트 및 유지 보수를보다 유연하게 만듭니다. 2) 세 가지 유형 중에서, 생성자는 상태를 일관성있게 유지하기 위해 명시 적 표현 의존성을 주입합니다. 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하여 코드 품질 및 개발 효율성을 향상시킵니다.

DatabaseQuesyOptimizationInphPinVolvesVesstoigiestoInsperferferferferformance.1) SelectOnlyNecessaryColumnstoredAtatatransfer.2) useinDexingTeSpeedUpdatarretieval.3) ubstractOrerEresultSoffRequeries.4) UtilizePreDstatements Offeffi


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경