Re:Vue

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

    開発ドキュメント

    🔗 リンク