| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

FuelPHP

提供: MyMemoWiki
2021年3月9日 (火) 08:27時点におけるPiroto (トーク | 投稿記録)による版 (→‎Authパッケージ)
ナビゲーションに移動 検索に移動

| PHP |

FuelPHP

思想

  • 規約より設定
  • MVCパターン
  • テンプレートエンジンは、独自言語ではなくPHP
  • oilコマンドで、コードの自動生成、データベースマイグレーション、パッケージインストール、自作コードの実行が可能

環境構築

Ubuntu

XAMPPのインストール
oil クイックインストール
  1. piroto@phpenv:~$ curl -L https://get.fuelphp.com/oil | sh
  2. % Total % Received % Xferd Average Speed Time Time Time Current
  3. Dload Upload Total Spent Left Speed
  4. 100 479 100 479 0 0 447 0 0:00:01 0:00:01 --:--:-- 449
FuelPHPのインストールと新しいプロジェクトを作成

  1. $ oil create test_prj
  2. $ ls test_prj/
  3. CHANGELOG.md LICENSE.md TESTING.md composer.lock docs oil
  4. CONTRIBUTING.md README.md composer.json composer.phar fuel public
  • Apacheからアクセスできるようにシンボリックリンクを設定
  1. $ cd /opt/lampp/htdocs/
  2. $ ln -s ~/workspaces/test_prj/public test_prj
  • アクセス

Run fuelphp app.png

PHPUnitのインストール

PHPUnitのインストール

ライブラリ

配置場所


  • サードパーティ製のライブラリを配置する場所
    • fuel/vendor
    • fuel/packages

設定

設定ファイル

  • fuel/app/config フォルダに配置
ファイル名 内容
config.php メイン設定
db.php DB設定
routes.php ルーティング設定

環境

環境別の設定ファイル


クラス定数 意味
Fuel::DEVELOPMENT development 開発環境
Fuel::TEST test テスト環境
Fuel::STAGING staging ステージング環境
Fuel::PRODUCTION production 本番環境

環境の設定


  • 現在の環境は、FUEL_ENV の値により決定
  • .htaccessが利用できる環境では、
    • SetEnv FUEL_ENV production
    • 環境変数 FUEL_ENV が定義されていない場合のデフォルトは開発環境
    • 環境変数が設定できない場合、fuel/app/bootstrap.php の以下を設定を変更
    • Fuel::$env = \Arr::get($_SERVER, 'FUEL_ENV', \Arr::get($_ENV, 'FUEL_ENV', \Fuel::DEVELOPMENT));

設定ファイル


  • fuel/app/config のサブフォルダ

ログ

  • fuel/app/logs

MVC


URL基本


  • FuelPHP URLの基本パターン
  1. http://hoge.jp/コントローラ/メソッド[/パラメータ1[/パラメータn]]

ディレクトリ構成

  • 全体
  1. /
  2. ├── composer.json ・・・ Composer設定
  3. ├── composer.lock ・・・ Composerによりインストールされた情報
  4. ├── composer.phar ・・・ Composer実行環境(アーカイブ)
  5. ├── docs ・・・ ドキュメント
  6. ├── fuel
  7. ├── app ・・・ アプリケーション
  8. ├── core ・・・ FuelPHP本体
  9. ├── packages ・・・ FuelPHPおよびユーザー作成パッケージ
  10. └── vendor ・・・ Composerパッケージ
  11. ├── oil ・・・ oilコマンド
  12. └── public
  13. ├── assets ・・・ JavaScript ,CSSなど公開リソース
  14. └── index.php ・・・ フロントコントローラ
  • app配下
  1. app
  2. ├── bootstrap.php ・・・ Coreクラスの置き換え時などに使用するブートストラップファイル
  3. ├── cache ・・・ キャッシュ
  4. ├── classes
  5. ├── controller ・・・ コントローラ
  6. ├── model ・・・ モデル
  7. └── presenter ・・・ プレゼンタ(ViewModel)
  8. ├── config
  9. ├── config.php ・・・ 全体設定
  10. ├── db.php ・・・ DB設定
  11. ├── development ・・・ 開発環境用設定
  12. ├── oil.php
  13. ├── production ・・・ 本番環境用設定
  14. ├── routes.php ・・・ ルーティング設定
  15. ├── staging ・・・ ステージング環境用設定
  16. └── test
  17. ├── lang ・・・ 言語ファイル
  18. ├── logs ・・・ ログ
  19. ├── migrations ・・・ マイグレーション
  20. ├── modules ・・・ MVCをフォルダ別にまとめるモジュール機能
  21. ├── tasks ・・・ コマンドラインから実行されるタスク
  22. ├── tests ・・・ テスト
  23. ├── themes ・・・
  24. ├── tmp ・・・ 一次ファイル
  25. ├── vendor ・・・ サードパーティ製ライブラリを配置
  26. └── views ・・・ ビュー

Authパッケージ


  • http://fuelphp.jp/docs/1.7/packages/auth/intro.html
  • Fuel における標準化された認証インターフェイスを提供
  • ユーザは自分自身で新しいドライバを書くことができ、 基本的なメソッドを保つことで、古いコードに新しいドライバを簡単に統合可能
  • インターフェースには 3 つのタイプのドライバが含まれています
    • login
    • group
    • ACL
  • login ドライバは、ユーザーのログインを処理し同時に複数の login ドライバを扱うことができます
  • ログインの種類を気にせず group ドライバを使用し、 2 つのタイプのログインを グループ化できます

ドライバ

  • ローカルアクセスを提供する2つのドライバが含まれ、1つ以上のデータベースのテーブルを使用