Skip to content

Latest commit

 

History

History
56 lines (32 loc) · 2.65 KB

application.md

File metadata and controls

56 lines (32 loc) · 2.65 KB

導入

BEARのアプリケーションをプロジェクトフォルダに機能別に構成されています。このうちhtdocs/だけは何処に配置してもかまいません。

構成

BEARアプリケーションのディレクトリマップ。

http://beardemo.kumasystem.com/image/app.png

主なフォルダ

  • Ro(リソースフォルダ)
  • output(HTTPアウトプットフォルダ)
  • views(テンプレート)
  • htdocs (htmlドキュメントルート)

ファイル配置ルール

アプリケーションクラスにはファイルの配置に命名規則があります。例えば、App_Form_UserクラスはApp/Form/User.phpに配置します。クラスオートローダーが機能し、include/require不要でクラスが使えます。

フォルダ名が大文字で始まるものはクラスファイル用フォルダです。

クラスファイル

App.php

BEARやアプリケーション全体の初期化を行います。全てのクラスのデフォルト値($app)を指定しBEAR::init($app);で初期化します。

App/Db.php

アプリケーション固有のDBのメソッドやプロパティを記述します。デフォルトではMDB2を使用していますが他のDBハンドラでもかまいせん。

App/Ro.php

リソースオブジェクト(Ro)の親クラスです。

App/Page.php

アプリケーションページクラスです。ページ全体で使用する機能は、処理内容を記述します。コンストラクタやデストラクタはページコンストラクタ、ページデストラクタとして機能します。

動作モード

デバック/ライブ以外にも様々な動作モードを持たせることができます。例えば「デバックモードで実行しているのだがDBはライブのものを見る」などです。App.phpでモードを読み込み、動作を決定しています。

最初のサンプルではbearmodeを.htaccessやphp.iniなどでbearmodeの値を指定します。0はライブで1より大きい数字で開発や開発モードのサイトになります。

htaccessの記載例

# 0:Live >1:Debug
SetEnv bearmode 2

Appクラスのコンストラクタでこの値を読み、DBのDSNや、App::$debug、キャッシュサーバーURLなどを上書きして動作モードを変えます。

.htaccessに表記するのが便利です。サイト毎に別のものを用意してsvnリポジトリなどには.htaccessをignoreしておけば同じプロジェクトファイルでサイトによって違う動作が実現します。