menu
書いてる野郎
orebike@gmail.com
PHP で CLI のアプリ。つまり Web じゃなくてバッチとかで使うためのコードの基本構造。
自分は別に PHPer とかでないので、仕事のために1日だけ調べて作ってみてこんな感じかなという memo。
. ├── Config.php ← このアプリの設定一式をクラスの静的フィールドに書き込んだもの ├── ConfigTest.php ← テスト環境用ファイル ├── README.md ← このアプリを使うための操作手順一式 ├── bootstrap.php ← 設定ファイルと autoload を両方読み込み各種初期化をやるやつ ├── bootstraptest.php ← テスト環境用ファイル ├── composer.json ← 構成を管理する Composer の設定ファイル ├── composer.lock ← Composer の確定版のファイル ├── hoge.php ← このアプリを起動するエントリーポイント ├── dbup ← DBマイグレーションツール置き場 これは dbup というツール │ ├── dbup.phar ← DBマイグレーションツール dbup 本体 │ └── sql ← マイグレーション用 SQL 置き場 │ └── V20170829__create_table.sql ├── src ← 本体のソース置き場、以下 namespace 構造と一致させる │ └── jp │ └── co │ └── unko │ ├── model ← 主に DB へアクセスするための model を格納する場所 │ │ └── HogeHoge.php ← そのクラス │ └── job ← 具体的な処理の流れ一式が書いてあるクラス置き場。エントリーポイントはここをキックする。 ├── test ← テストコード置き場 以下本体ソースとディレクトリ構成を一致させる │ └── jp │ └── co │ └── unko │ └── model │ ├── HogeHogeTest ← 同名のテストクラスで使うデータやファイルをおいておく場所 │ │ └── testPiyoPiyo.xxx ← 対象のテストメソッドで使うファイルやらディレクトリやら │ │ │ └── HogeHogeTest.php ← 対象のテストクラス ├── vendor ← composer でダウンロードした各種ライブラリの格納ディレクトリ │ └── autoload.php ← オートローダー ├── log ← ログの出力場所
テストの起動
$ vendor/bin/phpunit --colors --bootstrap bootstraptest.php test/jp/co/unko/model/HogeHogeTest