tomk79/search-in-directory

指定ディレクトリ内のファイルを検索する。

0.0.1 2020-10-29 01:07 UTC

This package is auto-updated.

Last update: 2024-10-29 05:53:09 UTC


README

指定ディレクトリ内のファイルを検索する。

インストール手順 - Install

$ composer require tomk79/search-in-directory

使い方 - Usage

$searcher = new \tomk79\searchInDirectory\main(
    array(
        // 検索対象とするディレクトリを列挙する
        '/path/to/target_dir/',
    ),
    array(
        'progress' => function( $_done, $_total ) use ( &$total, &$done ){
            // 進行状況を受けるコールバック
            var_dump($_done.'/'.$_total);
            $total = $_total;
            $done = $_done;
        },
        'match' => function( $file, $result ) use ( &$matched ){
            // 検索にマッチしたファイルの情報を受けるコールバック
            var_dump('Matched! '.$file);
            array_push($matched, $file);
        },
        'unmatch' => function( $file, $result ) use ( &$unmatched ){
            // 検索にマッチしなかったファイルの情報を受けるコールバック
            var_dump('Unmatched! '.$file);
            array_push($unmatched, $file);
        },
        'error' => function( $file, $error ){
            // 検索エラー情報を受けるコールバック
            var_dump($file);
            var_dump($error);
        },
    )
);

// 検索する
$matched = array();
$unmatched = array();
$total = 0;
$done = 0;
$result = $searcher->start(
    'text', // 検索キーワード
    array(
        'filter' => array(
            // ここに列挙するパターンにマッチしないパスは除外する
            '/./i',
        ) ,
        'ignore' => array(
            // ここに列挙するパターンにマッチするパスは除外する
            '/\.git/',
        ) ,
        'allowRegExp' => false, // true = 検索キーワード中に正規表現を使えるようにする
        'ignoreCase' => false, // true = 大文字・小文字を区別しない
        'matchFileName' => false, // true = ファイル名にもマッチさせる
    )
);
var_dump($matched);
var_dump($done.'/'.$total);

更新履歴 - Change log

tomk79/search-in-directory v0.0.1 (2020年10月29日)

  • Initial Release.

開発者向け情報 - for Developer

テスト - Test

$ cd {$documentRoot}
$ php vendor/phpunit/phpunit/phpunit

ドキュメント出力 - phpDocumentor

$ composer run-script documentation

ライセンス - License

Copyright (c)Tomoya Koyanagi
MIT License https://opensource.org/licenses/mit-license.php

作者 - Author