Ghost PHP

セットアップ
- プロジェクトをクローンしてください。
git clone https://github.com/sh-kikuchi/Ghost-PHP.git
- 以下のコマンドで依存パッケージをインストールします。
composer install
- データベース接続をする。プロジェクトディレクトリに `.env` ファイルを作成し、次のように設定してください。
DB_HOST = 'localhost'
DB_NAME = 'test'
DB_USER = 'root'
DB_PASS = ''
PASSWORD = 'password'
php ghost migrate
php ghost seed
CSVによるデータのインポートとエクスポート
- データのインポート
例えば、`users.csv` というファイルを Storage/csv ディレクトリに作成し、最初の行にカラム名を記載します。次に、以下のコマンドでデータをインポートします。
php ghost importCSV users
- 以下のコマンドで依存パッケージをインストールします。
composer install
- データのエクスポート
データをエクスポートするには、次のコマンドを実行します。
php ghost exportCSV posts
アーキテクチャ
このフレームワークは3層アーキテクチャに基づいています。
- レポジトリ:データベース操作を担当
- サービス:ビジネスロジックを処理し、モデルとビューの仲介をする
- ビュー:ユーザーインターフェースを管理
この設計により、コードの可読性と保守性が向上し、各層は独立して開発、テスト、変更することができます。
ディレクトリ構成
├─aura
│ ├─database // データベース接続
│ ├─https // リクエストとレスポンス管理
│ ├─routes // ルーティング管理
│ └─toolbox
│ ├─commands // コマンド処理
│ └─functions // ビュー用関数
├─config // 設定
├─form_classes // フォームデータ管理クラス
├─interfaces // インターフェース
├─logs // ログ
├─migrations // マイグレーション(テーブル)
│ ├─csv // CSVインポート/エクスポート
│ ├─migrate // テーブル作成
│ └─seed // データ挿入
├─models // モデルクラス
├─public // 公開資産(JS, CSS, 画像)
├─services // サービスクラス
├─storage // ストレージ
└─templates // テンプレートファイル
├─errors // エラーページ
└─layouts // ヘッダー、フッター
依存関係
- guzzlehttp/guzzle:HTTPリクエストを簡略化するためのPHPライブラリ
- vlucas/phpdotenv:環境変数をロードするためのPHPライブラリ
- phpunit/phpunit:PHPテストフレームワーク
テスト
テストはPHPUnitを使用して実行できます。以下はテスト実行の例です。
vendor/bin/phpunit tests\form_classes\PostRequestTest.php