はじめまして Envi PHP です

Enviはシンプルで、高速なPHPのMVCフレームワークです。 PHP5上で動作し、大規模から小規模のWEBアプリケーションを構築するために、生まれました。 現状のMVCフレームワークが抱える不満や、問題を解決することを目標にしています。

私たちは、フレームワークがアプリケーションの動作を阻害しないよう、リファクタリングを繰り返し、より高速に動作するようにメンテナンスを行っています。

Envi は以下の特徴があります。

  1. 軽量かつ分かりやすいMVC構造
    • EnviMVCは大量のリクエストをさばきたいと言うニーズの元設計されており、著名なフレームワークと比較して、非常に軽量かつ高速に動作します。
    • 軽量でわかりやすいというのは何も機能が少ないというわけではありません。プログラマーが必要とする機能はすべて入っています。
    • また、必要に応じていくらでも機能を拡張できます。
  2. 柔軟かつ強力なバリデーション
  3. 実際のWebアプリケーション開発を想定した設計
    • Envi では簡単なものは、簡単に。その上で、変更に強いコードが書けるように設計されています。
  4. 少人数開発、大人数開発のどちらでも、安心で安全なコードを記述することが出来ます。
    • Enviが考える安心と安全は下記のようなものです
    • より高速に動作し
    • より変更に強く
    • よりセキュリティ的問題を抱えにくい
  5. 学習コストが低い
    • EnviはMojaviのMVC構造をほぼそのまま引き継いでいます。学習コストが低いだけではなく、移植コストも抑えることが出来ます。
  6. 強力なテストフレームワーク
    • Enviには強力なテストフレームワークが標準で用意されています。
    • PHP5.2環境においても、モッキングテスト、スタブテストが可能です。
    • テストだけの使用も可能です
  7. PHP5.2からPHP5.6まで幅広く動作します

機能的な特徴は以下の通りです

  1. 「Envi Extension」は、新しいオブジェクトを生成するメソッドを提供し、都度インスタンスを生成したり、シングルトンでの使用をできるようにするものです。エクステンションのファイル構成は、エクステンションの制作者が自由に決定することが出来、その設定は、すべて設定ファイルに記述されるため、エクステンションの使用者は、事実上ただ、呼び出すだけで、Envi上のどこからでも使用することが出来ます。
  2. 「Envi ORM」は、テーブルの水平分割に対応した、アクティブレコード機能付きの、ORMです。直接クエリを記述可能で、柔軟な実装が可能です。強力なキャッシュ機構により、DBへのアクセス数を軽減します。
  3. 「Envi Unit Test」は、強力なモックテスト、ユニットテストの機構です。カバレッジ計測、アノテーションによるテスト制御、クラス、メソッドのスタブ化など、効率的にテストを記述できる機能が備わっています。
  4. 「アクションチェイン」は、複数のアクションをまとめて実行し、その出力だけを受け取る、機構です。APIとしてEnviを使用する場合において、通信をまとめることだけでは無く、機能毎に、ビジネスロジックだけではなく、コントローラー自信も分割出来、メンテナンス性の高いコードを実装できます。
  5. 「オートローダー」は、オートロードの環境設定を保つ手間を省き、使用していない不要なコンポーネントまでロードしてしまうことを防ぎます。また処理コストが高い、require_onceなどと言った機構に頼らずとも、安全性を担保できます。
  6. 「コンスタントローディング」、オートロードされるファイルの仲でも、必ずロードされるようなファイルは、コンスタントローディングの機能を使い先読みすることが出来ます。これによって、オートロードのコストを皿に下げることが出来ます。
  7. 「キャッシュ」設定ファイル、オートロード、コンスタントローディングはすべてキャッシュされ、最初の一回は除いて、高速に動作します。

簡単インストール

今すぐに、最新バージョンのEnviを使用したい場合は、簡単インストールをお試しください。 最新バージョンのEnviがインストールされ、そこからEnviを使用した新しいアプリケーションを作成することが出来ます。

# インストールしたいディレクトリに移動しておきます。
# Enviを簡単インストールします
$ curl www.enviphp.net/get/envi|sh
# Envi がインストールされました webapp内でbbsを作成します
$ cd webapp
$ ./envi init-project bbs

詳細は、インストールの方法を参照してください。

手動インストール

簡単インストールが使えない場合は、手動で EnviPHP をインストールできます。 詳細な手順は、インストールの方法方法 のページにあります。

次のステップ

  1. チュートリアルで、全体的な開発の流れを学ぶ
  2. リファレンスを見て、Envi PHP FlameWorkが持つ機能を知る
  3. 各種設定に関する説明を読んで、Envi PHP FlameWorkの挙動を変更する

チュートリアル

  1. アプリケーションのセットアップ
  2. アクション、ビュー、テンプレートの作成と処理の流れ
  3. アプリケーションの実装
  4. データベースの接続
  5. 動作概要

クラスリファレンス

各種設定

開発ブランチのドキュメント

EnviMVCの開発はこちらで行っております。 コードを寄与くださる場合は、Envi MVC GitHUBコチラからよろしくお願いします。