psysh와의 대화식 PHP 디버깅
<:> 오전 1시입니다. 웹 응용 프로그램 제공 마감일은 8 시간 안에 있습니다. 작동하지 않습니다. 무슨 일이 일어나고 있는지 알아 내려고하면 버그가 어디에 있는지 var_dump ()와 다이 ()로 코드를 채우십시오.…
Psysh의 설치는 작곡가를 사용하여 전 세계 또는 프로젝트 당 수행 할 수 있으며 런타임에서 코드를 검사하고 조작하기위한 다양한 명령을 지원합니다.
당신은 Composer G와 함께 전 세계적으로 psysh를 설치하거나 psysh 실행 파일을 다운로드 할 수 있습니다 :
작곡가
웹 애플리케이션과 통합 될 때 Psysh의 진정한 힘이 빛납니다.
데모 앱
스크립트의 실행이 중단되며 이제 Psysh의 재생 프롬프트가 있습니다. get_defined_vars ()를 psyshell :: debug ()에 매개 변수로 전달하므로 쉘 내부의 모든 정의 된 변수에 액세스 할 수 있습니다.
불행히도, 대화식 쉘은“p”(print)가 없기 때문에 대체가 아닙니다. $ a의 내용을보기 위해 에코 진술을 실행해야했습니다. 진정한 대답에서, 우리는 값을 할당 한 직후에 그것을 보았을 것입니다.
php -a
Interactive shell
php > $a = 'Hello world!';
php > echo $a;
Hello world!
php >
composer g require psy/psysh:~0.1
psysh
./psysh
Psy Shell v0.1.11 (PHP 5.5.8 — cli) by Justin Hileman
>>>
php -a
Interactive shell
php > $a = 'Hello world!';
php > echo $a;
Hello world!
php >
composer g require psy/psysh:~0.1
psysh
wget psysh.org/psysh
chmod +x psysh
./psysh
./psysh Psy Shell v0.1.11 (PHP 5.5.8 — cli) by Justin Hileman >>>
PhPunit에 익숙하지 않은 경우 코드에 너무 많은 관심을 기울이지 마십시오. 간단히 말해서, 제목의 window :: addtitle () 메소드를 테스트하기 위해 모든 것을 설정하고 비 빈 값을받을 것으로 기대합니다.
.
PSYSH는 PHP의 런타임 개발자 콘솔, 대화식 디버거 및 read-eval-eval-print 루프 (REPL)입니다. PHP 코드를 실행하고 즉시 출력을 볼 수있는 대화식 명령 줄 인터페이스를 제공합니다. PSYSH는 코드를 밟고 변수를 검사하며 대화식 변경 사항을 테스트 할 수 있으므로 디버깅에 특히 유용합니다. 코드와 대화하는 것과 같습니다. 이는 더 나은 이해와 더 빠른 버그 해상도로 이어질 수 있습니다. . PSYSH는 강력한 오류 및 예외 처리 메커니즘을 가지고 있습니다. 오류 또는 예외가 발생하면 PSYSH는 상세한 스택 추적을 표시하여 오류가 발생한 위치와 이유를 정확하게 이해할 수 있도록 도와줍니다. WTF 명령을 사용하여 언제든지 마지막 예외 스택 추적을 표시 할 수 있습니다. psysh 프로젝트에 어떻게 기여할 수 있습니까? 공식 PSYSH 웹 사이트와 GitHub 리포지토리는 리소스를 찾을 수있는 가장 좋은 장소입니다. psysh에 대해. 자세한 문서, 사용법 예제 및 사용 가능한 명령 목록이 포함됩니다. 다양한 PHP 및 개발자 블로그에서 자습서와 기사를 찾을 수도 있습니다. >>> help
help Show a list of commands. Type `help [foo]` for information about [foo]. Aliases: ?
ls List local, instance or class variables, methods and constants. Aliases: list, dir
dump Dump an object or primitive.
doc Read the documentation for an object, class, constant, method or property. Aliases: rtfm, man
show Show the code for an object, class, constant, method or property.
wtf Show the backtrace of the most recent exception. Aliases: last-exception, wtf?
trace Show the current call stack.
buffer Show (or clear) the contents of the code input buffer. Aliases: buf
clear Clear the Psy Shell screen.
history Show the Psy Shell history.
exit End the current session and return to caller. Aliases: quit, q
코드가 완벽하게 실행되는 것처럼 보이지만 테스트가 실패합니다. 실패한 테스트 만 실행하여 더 자세히 살펴볼 수 있습니다.
>>> help ls
Usage:
ls [--vars] [-c|--constants] [-f|--functions] [-k|--classes] [-I|--interfaces] [-t|--traits] [-p|--properties] [-m|--methods] [-G|--grep="..."] [-i|--insensitive] [-v|--invert] [-g|--globals] [-n|--internal] [-u|--user] [-C|--
category="..."] [-a|--all] [-l|--long] [target]
Aliases: list, dir
Arguments:
target A target class or object to list.
Options:
--vars Display variables.
--constants (-c) Display defined constants.
--functions (-f) Display defined functions.
--classes (-k) Display declared classes.
--interfaces (-I) Display declared interfaces.
--traits (-t) Display declared traits.
--properties (-p) Display class or object properties (public properties by default).
--methods (-m) Display class or object methods (public methods by default).
--grep (-G) Limit to items matching the given pattern (string or regex).
--insensitive (-i) Case-insensitive search (requires --grep).
--invert (-v) Inverted search (requires --grep).
--globals (-g) Include global variables.
--internal (-n) Limit to internal functions and classes.
--user (-u) Limit to user-defined constants, functions and classes.
--category (-C) Limit to constants in a specific category (e.g. "date").
--all (-a) Include private and protected methods and properties.
--long (-l) List in long format: includes class names and method signatures.
Help:
List variables, constants, classes, interfaces, traits, functions, methods, and properties.
Called without options, this will return a list of variables currently in scope.
If a target object is provided, list properties, constants and methods of that target. If a class, interface or trait name is passed instead, list constants and methods on that class.
e.g.
>>> ls
>>> ls $foo
>>> ls -k --grep mongo -i
>>> ls -al ReflectionClass
>>> ls --constants --category date
>>> ls -l --functions --grep /^array_.*/
>>>
php -a
Interactive shell
php > $a = 'Hello world!';
php > echo $a;
Hello world!
php >
.
psysh는 작곡가를 사용하여 전 세계적으로 설치할 수 있습니다. PHP 용 종속성 관리 도구. Command Composer Global 요구 사항 PSY/PSYSH를 실행하여 설치할 수 있습니다. 설치 후 터미널에서 psysh를 입력하여 psysh를 시작할 수 있습니다. 시스템이 psysh 실행 파일을 찾을 수 있도록 경로에 글로벌 작곡가 바이너리를 포함시켜야합니다. psysh를 사용하여 PHP 코드를 디버깅하려면 psysh를 사용하여 PHP 코드를 디버깅하려면 어떻게해야합니까? , psysh ()를 삽입 할 수 있습니다. 대화식 디버깅 세션을 시작하려는 코드의 어느 시점에서나. 코드 실행 이이 시점에 도달하면 Psysh는 대화식 쉘을 열어 변수를 검사하고 코드를 실행하며 코드 실행을 진행할 수 있습니다.
PHP에서 단위 테스트에 psysh를 사용할 수 있습니까? psysh 구성을 사용자 정의하려면 어떻게해야합니까?
psysh에서 .psysh.php 파일을 작성하여 구성을 사용자 정의 할 수 있습니다. 홈 디렉토리. 이 파일에서는 기본값 포함, 오류 레벨 및 명령 기록 크기와 같은 구성 옵션을 설정할 수 있습니다. 사용자 정의 명령 또는 클리너를 추가 할 수도 있습니다 psysh에는 PHP 코드를보다 효과적으로 디버깅하는 데 도움이되는 많은 고급 기능이 제공됩니다. 여기에는 런타임을 통한 코드 실행, 자동 세미콜론 삽입, 네임 스페이스 지원, 읽기 지원, 예외 처리 등이 포함됩니다. PSYSH는 또한 변수, 기능, 클래스 및 PHP 내장 키워드에 대한 탭 완료를 지원합니다.
PSYSH는 어떻게 오류 및 예외를 처리합니까?
예, Psysh는 대부분의 PHP 프레임 워크에서 잘 작동합니다. Laravel, Symfony 및 Zend 프레임 워크를 포함하여. Laravel과 같은 일부 프레임 워크에는 팅커 명령을 위해 psysh를 포함시킵니다. psysh는 Github에서 호스팅 된 오픈 소스 프로젝트입니다. 버그를보고하거나 기능을 제안하거나 풀 요청을 제출함으로써 프로젝트에 기여할 수 있습니다. 기여하기 전에 프로젝트의 기고 가이드 라인을 읽으십시오.
PSYSH에 대해 더 많은 리소스를 찾을 수있는 곳은 어디에서 찾을 수 있습니까?
위 내용은 psysh와의 대화식 PHP 디버깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

PHP8.1의 열거 기능은 명명 된 상수를 정의하여 코드의 명확성과 유형 안전성을 향상시킵니다. 1) 열거는 정수, 문자열 또는 객체 일 수 있으며 코드 가독성 및 유형 안전성을 향상시킬 수 있습니다. 2) 열거는 클래스를 기반으로하며 Traversal 및 Reflection과 같은 객체 지향적 특징을 지원합니다. 3) 열거는 유형 안전을 보장하기 위해 비교 및 할당에 사용될 수 있습니다. 4) 열거는 복잡한 논리를 구현하는 방법을 추가하는 것을 지원합니다. 5) 엄격한 유형 확인 및 오류 처리는 일반적인 오류를 피할 수 있습니다. 6) 열거는 마법의 가치를 줄이고 유지 관리를 향상 시키지만 성능 최적화에주의를 기울입니다.
