찾다
백엔드 개발PHP 튜토리얼psysh와의 대화식 PHP 디버깅

psysh와의 대화식 PHP 디버깅 <:> 오전 1시입니다. 웹 응용 프로그램 제공 마감일은 8 시간 안에 있습니다. 작동하지 않습니다. 무슨 일이 일어나고 있는지 알아 내려고하면 버그가 어디에 있는지 var_dump ()와 다이 ()로 코드를 채우십시오.… 당신은 짜증이납니다. 반환 값 또는 가변 할당을 시도 할 때마다 소스 코드를 변경하고 응용 프로그램을 실행하고 결과를 확인해야합니다. 결국 Var_dump를 제거했는지 여부는 확실하지 않습니다. 코드. 이 상황은 당신에게 친숙합니까?

키 테이크 아웃

PSYSH는 브라우저의 JavaScript 콘솔과 유사한 PHP 코드의 즉각적인 상호 작용 및 실행을 허용하여 디버깅을 향상시키는 PHP를위한 강력한 대체 도구입니다.

Psysh의 설치는 작곡가를 사용하여 전 세계 또는 프로젝트 당 수행 할 수 있으며 런타임에서 코드를 검사하고 조작하기위한 다양한 명령을 지원합니다. PSYSH는 PHP 스크립트 또는 단위 테스트에 직접 통합되어 라이브 디버깅 환경을 제공 할 수 있으며, 이는 복잡한 응용 프로그램에서 버그를 식별하고 수정하는 데 특히 유용합니다. 이 도구는 명령 줄 인터페이스와 내장 PHP 웹 서버 모두에서 원활한 디버깅 경험을 제공하지만 Apache와 같은 외부 웹 서버와 호환되지는 않지만

.

psysh 구조 psysh는 read-eval-print 루프 (또는 REPL)입니다. 브라우저의 JavaScript 콘솔을 통해 대체를 사용했을 수 있습니다. 가지고 있다면, 당신은 그것이 많은 전력을 가지고 있으며 JS 코드를 디버깅하는 동안 유용 할 수 있다는 것을 알고 있습니다.

PHP에 대해 이야기하면서 PHP의 대화식 콘솔 (PHP -A)을 사용했을 수도 있습니다. 거기에서 일부 코드를 작성할 수 있으며 Console은 Enter를 누르 자마자 실행됩니다.

불행히도, 대화식 쉘은“p”(print)가 없기 때문에 대체가 아닙니다. $ a의 내용을보기 위해 에코 진술을 실행해야했습니다. 진정한 대답에서, 우리는 값을 할당 한 직후에 그것을 보았을 것입니다.

당신은 Composer G와 함께 전 세계적으로 psysh를 설치하거나 psysh 실행 파일을 다운로드 할 수 있습니다 : 작곡가

    직접 다운로드 (Linux/Mac)
  • 또한이 기사의 뒷부분에서 볼 수 있듯이 작곡가와 프로젝트 당 포함 할 수 있습니다. 이제 psysh와 약간 놀아 봅시다.
  • 주요 도움은 가장 친한 친구가 될 것입니다. 그것은 당신에게 모든 종류의 명령과 그들의 설명을 줄 것입니다 :
  • 기본적으로, 대체가 할 수있는 일은 :
  • 우리가 PSYSH를 PHP의 대화식 콘솔과 비교하면 Psysh는 할당 되 자마자 $ a 값을 인쇄합니다. 더 복잡한 예는 다음과 같습니다

    나는 함수를 정의하고 ()을 호출했다. 당신이 볼 수있는 두 널은 함수 정의 나 실행이 값을 반환하지 않았기 때문입니다 (함수는 값을 반영합니다). 또한 함수를 정의하는 동안 프롬프트는 >>>에서 .... 로 변경되었습니다. 클래스를 정의하고 인스턴스화 할 수 있습니까?

    FOO를 인스턴스화했을 때 생성자는 물체에 대한 참조를 반환했습니다. 이것이 Psysh 인쇄 입니다. 이제 psysh와 객체에 대해 흥미로운 점을 봅시다.
    php -a
    Interactive shell
    
    php > $a = 'Hello world!';
    php > echo $a;
    Hello world!
    php >

    우연히 클래스 FOO가 정의한 메소드를 잊어 버리면 이제 답이 있습니다. Linux OS 또는 Mac 명령 줄 인터페이스를 사용 했습니까? LS 명령에 익숙 할 수 있습니다. -la 옵션을 기억합니까?

    달콤하지 않습니까?

    웹 애플리케이션과 통합 될 때 Psysh의 진정한 힘이 빛납니다. 데모 앱

    데코레이터 디자인 패턴을 보여주는 빠른 응용 프로그램을 구현하겠습니다. 그러한 패턴의 UML 클래스 다이어그램은 다음과 같습니다.
    composer g require psy/psysh:~0.1
    psysh
    UML 또는 디자인 패턴에 대해 많이 모르더라도 걱정하지 마십시오.이 기사에는 이들이 이해가 필요하지 않습니다.

    이 프로젝트의 경우 일련의 테스트 사례를 만들었습니다. 이러한 테스트 케이스는 PHPUnit에 의해 실행 될 수 있습니다. 다시 말하지만,이 기사를 이해하기 위해 단위 테스트에 익숙하지 않아도됩니다.

    이 작은 응용 프로그램의 전체 소스 코드는 https://github.com/sitepoint-examples/psysh wget psysh.org/psysh chmod +x psysh ./psysh에서 찾을 수 있습니다. 우선, psysh에 대한 종속성을 선언하려면 composer.json 파일을 정의해 봅시다 :

    작곡가를 설치 한 후에는 가면 좋을 것입니다.

    public/decorator.php 파일의 다음 소스 코드를 살펴보십시오. 그것은 Simple -Window, DecoratedWindow 및 제목의 Window 개체를 인스턴스화하여 Decorator 패턴을 보여줄 것입니다 : .
    ./psysh                                                                                                                                             
    
    Psy Shell v0.1.11 (PHP 5.5.8 — cli) by Justin Hileman                                                                                                                                                                              
    >>>
    우리는 PHP의 CLI (명령 줄 인터페이스)를 통해 또는 구성된 경우 웹 서버를 통해 코드를 실행할 수 있습니다. PHP의 내부 웹 서버도 사용할 수 있습니다 Cli에서 디버깅 명령 줄 인터페이스를 통한 위 코드의 실행은 다음과 같습니다.

    우리는 어떻게 psysh와 상호 작용할 수 있습니까? psyshell을 추가하기 만하면 :: debug (get_defined_vars ()); 응용 프로그램을 디버그하려는 코드의 어느 곳에서나 일반적으로 var_dump () 문을 삽입 할 수있는 곳 :

    파일을 저장 한 후 다음 출력을 얻을 수 있습니다.

    스크립트의 실행이 중단되며 이제 Psysh의 재생 프롬프트가 있습니다. get_defined_vars ()를 psyshell :: debug ()에 매개 변수로 전달하므로 쉘 내부의 모든 정의 된 변수에 액세스 할 수 있습니다.

    $ 창 변수를 검사 해 봅시다
    php -a
    Interactive shell
    
    php > $a = 'Hello world!';
    php > echo $a;
    Hello world!
    php >
    응용 프로그램 내부에 psysh가있는 것에 대해 좋은 점은 인스턴스화 된 객체의 소스 코드를 검사 할 수 있다는 것입니다.

    그래서 $ 창은 SimpleWindow의 인스턴스입니다. 창 인터페이스를 구현하는 SimpleWindow의 인스턴스… Window 인터페이스의 소스 코드가 어떻게 보이는지 궁금합니다.…

    간단한 바람과 장식용이 같은 출력이 같은 이유는 무엇입니까? $ DecoratedWindow 객체를 살펴 보겠습니다
    composer g require psy/psysh:~0.1
    psysh
    이 객체는 SimpleWindow보다 "무겁기 때문에"소스 코드가 길어질 수 있습니다. render () 메소드의 소스 코드 만 보자.

    getWindowReference () 메소드가 호출 된 다음 render () 메소드에서 결과를 반환합니다. getWindowReference () 소스 :

    를 확인해 봅시다
    wget psysh.org/psysh
    chmod +x psysh
    ./psysh
    이 메소드는 객체의 WindowReference 속성을 반환하고 있으며 위의 LS -AL 명령에서 보았 듯이 AcMepatternsDecoratorsimpleWindow의 인스턴스입니다. 물론, 우리는 DecinatedWindow :: __ Construct ()가 어떻게 작동하는지 살펴볼 수 있었지만 이것이 우리가 확인할 수있는 또 다른 방법입니다. 내장 서버로 디버깅을 불행히도, Apache와 같은 웹 서버를 통해 디버깅하는 것은 지원되지 않습니다. 그러나 PHP의 임베디드 서버를 사용하여 응용 프로그램을 디버깅 할 수 있습니다.

개발 서버는 이제 포트 8080에서 연결을 듣고 있습니다. 따라서이 웹 서버 (https : // localhost : 8080/decorator.php)를 통해 Decorator.php 파일을 요청하자마자 다음을 볼 수 있습니다.
./psysh                                                                                                                                             

Psy Shell v0.1.11 (PHP 5.5.8 — cli) by Justin Hileman                                                                                                                                                                              
>>>

우리는 cli 와 마찬가지로 Psysh와 함께 연주를 시작할 수 있습니다.

>>> 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
단위 테스트 로 디버깅 좋은 개발자는 코드에 대한 단위 테스트를 예상대로 작동한다는 증거로 작성해야합니다. 프로젝트 파일에서 테스트 폴더를 찾을 수 있으며 PHPUnit이 설치된 경우 그 안에 테스트를 실행할 수 있습니다.

코드가 완벽하게 실행되는 것처럼 보이지만 테스트가 실패합니다. 실패한 테스트 만 실행하여 더 자세히 살펴볼 수 있습니다.

오류가 생성되는 테스트, 파일 및 줄이 있습니다. WindowTest.php
>>> 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_.*/
 >>>
라는 제목을 살펴 보겠습니다

PhPunit에 익숙하지 않은 경우 코드에 너무 많은 관심을 기울이지 마십시오. 간단히 말해서, 제목의 window :: addtitle () 메소드를 테스트하기 위해 모든 것을 설정하고 비 빈 값을받을 것으로 기대합니다. 그래서 우리는 어떻게 Psysh를 사용하여 무슨 일이 일어나고 있는지 확인합니까? 이전과 같이 쉘 :: debug () 메소드를 추가하십시오

우리는 흔들 준비가되어 있습니다!

그래서 $ rs에 문자열이 있어야합니다. 우리가 정말로 무엇을 가지고 있는지 봅시다.

null 값, 테스트가 실패한 것은 놀라운 일이 아닙니다… LS 명령을 수행하면 $ WINDOW 객체를 통해 해당 객체의 방법을 사용할 수 있음을 알 수 있습니다.
php -a
Interactive shell

php > $a = 'Hello world!';
php > echo $a;
Hello world!
php >
버그가 있습니다. 이 메소드는 값을 반환하는 대신 값을 반영합니다. 응용 프로그램이 올바르게 작동하는 것처럼 보이지만 단위 테스트와 PSYSH를 통해 결함을 발견했으며 이제 수정할 수 있습니다.

.

결론 이 기사는 Psysh가 가지고있는 모든 잠재력을 보여주는 데 철저한 것이 아닙니다. 시도해야 할 다른 멋진 기능 ( 'Doc'과 같은)이 있습니다. Psysh만으로는 그다지 유용하지 않을 수 있지만 다른 도구 및 영리한 디버깅 파워와 결합하면 귀중한 자산이 될 수 있습니다.

. psysh를 사용한 대화식 PHP 디버깅에 대한 자주 묻는 질문 (FAQ) PSYSH 란 무엇이며 PHP 디버깅에서 어떻게 작동합니까?

PSYSH는 PHP의 런타임 개발자 콘솔, 대화식 디버거 및 read-eval-eval-print 루프 (REPL)입니다. PHP 코드를 실행하고 즉시 출력을 볼 수있는 대화식 명령 줄 인터페이스를 제공합니다. PSYSH는 코드를 밟고 변수를 검사하며 대화식 변경 사항을 테스트 할 수 있으므로 디버깅에 특히 유용합니다. 코드와 대화하는 것과 같습니다. 이는 더 나은 이해와 더 빠른 버그 해상도로 이어질 수 있습니다.

PHP 디버깅 용 PSYSH를 어떻게 설치합니까?

psysh는 작곡가를 사용하여 전 세계적으로 설치할 수 있습니다. PHP 용 종속성 관리 도구. Command Composer Global 요구 사항 PSY/PSYSH를 실행하여 설치할 수 있습니다. 설치 후 터미널에서 psysh를 입력하여 psysh를 시작할 수 있습니다. 시스템이 psysh 실행 파일을 찾을 수 있도록 경로에 글로벌 작곡가 바이너리를 포함시켜야합니다.

psysh를 사용하여 PHP 코드를 디버깅하려면 psysh를 사용하여 PHP 코드를 디버깅하려면 어떻게해야합니까? , psysh ()를 삽입 할 수 있습니다. 대화식 디버깅 세션을 시작하려는 코드의 어느 시점에서나. 코드 실행 이이 시점에 도달하면 Psysh는 대화식 쉘을 열어 변수를 검사하고 코드를 실행하며 코드 실행을 진행할 수 있습니다.

PHP에서 단위 테스트에 psysh를 사용할 수 있습니까?

. 예, Psysh는 PHP의 단위 테스트에 매우 유용 할 수 있습니다. psysh를 사용하여 테스트 실행 중 언제라도 테스트를 대화식으로 디버깅하고 변수 검사 및 상태를 표시 할 수 있습니다. 이것은 테스트가 실패한 이유를 이해하는 데 특히 유용 할 수 있습니다.

psysh 구성을 사용자 정의하려면 어떻게해야합니까?

psysh에서 .psysh.php 파일을 작성하여 구성을 사용자 정의 할 수 있습니다. 홈 디렉토리. 이 파일에서는 기본값 포함, 오류 레벨 및 명령 기록 크기와 같은 구성 옵션을 설정할 수 있습니다. 사용자 정의 명령 또는 클리너를 추가 할 수도 있습니다 psysh의 일부 고급 기능은 무엇입니까?

psysh에는 PHP 코드를보다 효과적으로 디버깅하는 데 도움이되는 많은 고급 기능이 제공됩니다. 여기에는 런타임을 통한 코드 실행, 자동 세미콜론 삽입, 네임 스페이스 지원, 읽기 지원, 예외 처리 등이 포함됩니다. PSYSH는 또한 변수, 기능, 클래스 및 PHP 내장 키워드에 대한 탭 완료를 지원합니다.

PSYSH는 어떻게 오류 및 예외를 처리합니까?

PSYSH는 강력한 오류 및 예외 처리 메커니즘을 가지고 있습니다. 오류 또는 예외가 발생하면 PSYSH는 상세한 스택 추적을 표시하여 오류가 발생한 위치와 이유를 정확하게 이해할 수 있도록 도와줍니다. WTF 명령을 사용하여 언제든지 마지막 예외 스택 추적을 표시 할 수 있습니다.

내가 좋아하는 PHP 프레임 워크와 함께 psysh를 사용할 수 있습니까?

예, Psysh는 대부분의 PHP 프레임 워크에서 잘 작동합니다. Laravel, Symfony 및 Zend 프레임 워크를 포함하여. Laravel과 같은 일부 프레임 워크에는 팅커 명령을 위해 psysh를 포함시킵니다.

psysh 프로젝트에 어떻게 기여할 수 있습니까?

psysh는 Github에서 호스팅 된 오픈 소스 프로젝트입니다. 버그를보고하거나 기능을 제안하거나 풀 요청을 제출함으로써 프로젝트에 기여할 수 있습니다. 기여하기 전에 프로젝트의 기고 가이드 라인을 읽으십시오.

PSYSH에 대해 더 많은 리소스를 찾을 수있는 곳은 어디에서 찾을 수 있습니까?

공식 PSYSH 웹 사이트와 GitHub 리포지토리는 리소스를 찾을 수있는 가장 좋은 장소입니다. psysh에 대해. 자세한 문서, 사용법 예제 및 사용 가능한 명령 목록이 포함됩니다. 다양한 PHP 및 개발자 블로그에서 자습서와 기사를 찾을 수도 있습니다.

위 내용은 psysh와의 대화식 PHP 디버깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
로드 밸런싱이 세션 관리에 어떤 영향을 미치는지 설명하고 해결 방법을 설명하십시오.로드 밸런싱이 세션 관리에 어떤 영향을 미치는지 설명하고 해결 방법을 설명하십시오.Apr 29, 2025 am 12:42 AM

로드 밸런싱은 세션 관리에 영향을 미치지 만 세션 복제, 세션 끈적임 및 중앙 집중식 세션 스토리지로 해결할 수 있습니다. 1. 세션 복제 복사 서버 간의 세션 데이터. 2. 세션 끈은 사용자 요청을 동일한 서버로 안내합니다. 3. 중앙 집중식 세션 스토리지는 Redis와 같은 독립 서버를 사용하여 세션 데이터를 저장하여 데이터 공유를 보장합니다.

세션 잠금의 개념을 설명하십시오.세션 잠금의 개념을 설명하십시오.Apr 29, 2025 am 12:39 AM

SessionLockingIsateChniqueSureDureauser의 SessionLockingSsessionRemainSexclusivetoOneuseratatime.itiscrucialforpreptingdatacorruptionandsecurityBreachesInmulti-userApplications.sessionLockingSogingSompletEdusingserVerver-sidelockingMegynisms, unrasprantlockinj

PHP 세션에 대한 대안이 있습니까?PHP 세션에 대한 대안이 있습니까?Apr 29, 2025 am 12:36 AM

PHP 세션의 대안에는 쿠키, 토큰 기반 인증, 데이터베이스 기반 세션 및 Redis/Memcached가 포함됩니다. 1. Cookies는 클라이언트에 데이터를 저장하여 세션을 관리합니다. 이는 단순하지만 보안이 적습니다. 2. Token 기반 인증은 토큰을 사용하여 사용자를 확인합니다. 이는 매우 안전하지만 추가 논리가 필요합니다. 3. Database 기반 세션은 데이터베이스에 데이터를 저장하여 확장 성이 좋지만 성능에 영향을 줄 수 있습니다. 4. Redis/Memcached는 분산 캐시를 사용하여 성능 및 확장 성을 향상하지만 추가 일치가 필요합니다.

PHP의 맥락에서 '세션 납치'라는 용어를 정의하십시오.PHP의 맥락에서 '세션 납치'라는 용어를 정의하십시오.Apr 29, 2025 am 12:33 AM

SessionHijacking은 사용자의 SessionID를 얻음으로써 사용자를 가장하는 공격자를 말합니다. 예방 방법은 다음과 같습니다. 1) HTTPS를 사용한 의사 소통 암호화; 2) SessionID의 출처를 확인; 3) 보안 세션 생성 알고리즘 사용; 4) 정기적으로 SessionID를 업데이트합니다.

PHP의 전체 형태는 무엇입니까?PHP의 전체 형태는 무엇입니까?Apr 28, 2025 pm 04:58 PM

이 기사는 PHP에 대해 설명하고, 전체 형식, 웹 개발의 주요 용도, Python 및 Java와의 비교 및 ​​초보자를위한 학습 용이성을 자세히 설명합니다.

PHP는 양식 데이터를 어떻게 처리합니까?PHP는 양식 데이터를 어떻게 처리합니까?Apr 28, 2025 pm 04:57 PM

PHP는 유효성 검사, 소독 및 보안 데이터베이스 상호 작용을 통해 보안을 보장하면서 $ \ _ post 및 $ \ _를 사용하여 데이터 양식 데이터를 처리합니다.

PHP와 ASP.NET의 차이점은 무엇입니까?PHP와 ASP.NET의 차이점은 무엇입니까?Apr 28, 2025 pm 04:56 PM

이 기사는 PHP와 ASP.NET을 비교하여 대규모 웹 응용 프로그램, 성능 차이 및 보안 기능에 대한 적합성에 중점을 둡니다. 둘 다 대규모 프로젝트에서는 실용적이지만 PHP는 오픈 소스 및 플랫폼 독립적이며 ASP.NET,

PHP는 사례에 민감한 언어입니까?PHP는 사례에 민감한 언어입니까?Apr 28, 2025 pm 04:55 PM

PHP의 사례 감도는 다양합니다. 함수는 무감각하고 변수와 클래스는 민감합니다. 모범 사례에는 일관된 이름 지정 및 비교를위한 사례 감수 기능 사용이 포함됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경