
PHPからの機能とメソッドの呼び出し、可変割り当て、クラスなどのPHPソースコードを検索します。
composer require permafrost-dev/php-code-searchファイルを検索するには、 search方法を使用します。その唯一のパラメーターは、有効なファイル名を含む文字列またはPermafrostPhpCodeSearchSupportFileのインスタンスのいずれかです。
代わりに文字列を検索するには、 searchCodeメソッドを使用します。
検索方法はPermafrostPhpCodeSearchResultsFileSearchResults resultsインスタンスを返します。
各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"; ' );利用可能な方法のいずれかを使用して検索する場合、正規表現は、名前をスラッシュ/ 、IE /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)。詳細については、ライセンスファイルをご覧ください。