
기능 및 메소드 호출, 가변 할당, 클래스 및 PHP에서 PHP 소스 코드를 검색하십시오.
composer require permafrost-dev/php-code-search 파일을 검색하려면 search 방법을 사용하십시오. 유일한 매개 변수는 유효한 파일 이름을 포함하는 문자열이거나 PermafrostPhpCodeSearchSupportFile 인스턴스 일 수 있습니다.
대신 문자열을 검색하려면 searchCode 메소드를 사용하십시오.
검색 메소드는 results PermafrostPhpCodeSearchResultsFileSearchResults 의 인스턴스를 반환합니다.
각 result PermafrostPhpCodeSearchResultsSearchResult 의 인스턴스입니다.
node - 발견 된 특정 항목node->name(): stringlocation - 항목이 발견 된 파일의 위치location->startLine(): intlocation->endLine(): intsnippet - 중간에 결과 줄이있는 파일의 코드 라인 스 니펫snippet->toString(): stringfile() (method) - 검색 된 파일에 대한 액세스를 제공합니다. 문자열 또는 파일로 코드를 검색하려면 Searcher 클래스를 사용하십시오.
use Permafrost PhpCodeSearch Searcher ;
$ searcher = new Searcher (); 파일을 검색하려면 search 메소드와 searchCode 메소드를 사용하여 코드 문자열을 검색하십시오.
$ searcher
-> functions ([ ' strtolower ' , ' strtoupper ' ])
-> search ( ' ./file1.php ' );
$ searcher
-> variables ([ ' /^one[A-Z]$/ ' ])
-> searchCode ( ' <?php $oneA = "1a"; ' ); 사용 가능한 메소드를 사용하여 검색 할 때는 이름을 슬래시 / , 예 : /testd+/ 로 둘러싸고 정규 표현식을 사용할 수 있습니다.
이름 별 변수를 검색하려면 variables 메소드를 사용하십시오.
$ results = $ searcher
-> variables ([ ' twoA ' , ' /^one.$/ ' ])
-> searchCode ( ' <?php ' .
' $oneA = "1a"; ' .
' $oneB = "1b"; ' .
' $twoA = "2a"; ' .
' $twoB = "2b"; ' .
'' );
foreach ( $ results -> results as $ result ) {
echo " Found ' { $ result -> node -> name ()} ' on line { $ result -> location -> startLine }" . PHP_EOL ;
} 함수 호출 또는 정의를 검색하려면 functions 메소드를 사용하십시오.
// search for references AND definitions for 'strtolower' and/or 'myfunc'
$ searcher
-> functions ([ ' strtolower ' , ' myfunc ' ])
-> search ( ' file1.php ' ); 이름으로 메소드 호출을 검색하려면 methods 메소드를 사용하십시오.
메소드 통화 노드에는 메소드 호출에 대한 인수를 검색하기 위해 루프 할 수있는 args 속성이 있습니다.
$ results = $ searcher
-> methods ([ ' /test(One|Two)/ ' ])
-> searchCode ( ' <?php ' .
' $obj->testOne("hello world 1"); ' .
' $obj->testTwo("hello world", 2); ' .
''
);
foreach ( $ results -> results as $ result ) {
echo " Found ' { $ result -> node -> name ()} ' on line { $ result -> location -> startLine }" . PHP_EOL ;
foreach ( $ result -> node -> args as $ arg ) {
echo " argument: ' { $ arg -> value } ' " . PHP_EOL ;
}
} 정적 메소드 또는 속성 호출을 검색하려면 static 메소드를 사용하십시오.
유효한 검색어는 Cache 와 같은 클래스 이름 또는 클래스 이름 및 Cache::remember 와 같은 메소드 이름입니다.
$ searcher
-> static ([ ' Ray ' , ' Cache::has ' , ' Request::$myProperty ' ])
-> search ( ' ./app/Http/Controllers/MyController.php ' ); new 키워드로 작성된 클래스 정의 또는 클래스를 검색하려면 classes 메소드를 사용하십시오.
$ searcher
-> classes ([ ' MyController ' ])
-> search ( ' ./app/Http/Controllers/MyController.php ' ); 변수 이름으로 변수 할당을 검색하려면 assignments 방법을 사용하십시오. 참고 : $ 생략해야합니다.
$ searcher
-> assignments ([ ' myVar ' ])
-> search ( ' ./app/Http/Controllers/MyController.php ' ); 연관된 코드 스 니펫없이 검색 결과를 반환하려면 withoutSnippets 메소드를 사용하십시오.
$ searcher
-> withoutSnippets ()
-> functions ([ ' strtolower ' ])
-> search ( ' file1.php ' );./vendor/bin/phpunit최근에 변경된 내용에 대한 자세한 내용은 ChangElog를 참조하십시오.
자세한 내용은 기여를 참조하십시오.
보안 취약점을보고하는 방법에 대한 보안 정책을 검토하십시오.
MIT 라이센스 (MIT). 자세한 내용은 라이센스 파일을 참조하십시오.