This Project Has Not Released Any Files
* NOBITAのソースコードを入手し、WEBサーバに配置するだけです *
$database_config = array( "writer" => array( "host" => "localhost", "user" => "loginuser", "pass" => "password", "name" => "databasename", "driver" => "mysql", "port" => 3306, "type" => "master", "encode" => "UTF8", ), "reader" => array( "host" => "localhost", "user" => "loginuser", "pass" => "password", "name" => "databasename", "driver" => "mysql", "port" => 3306, "type" => "slave", "encode" => "UTF8", ), );上記はNOBITAにおけるデータベース設定の一例です。 writer、readerなどのようにわかりやすい識別名を付けます。 これはモデルのロード時にどのデータベースリソースに接続するかを指定する際に必要になります。
<?php /** * USER_MSTテーブルを操作するためのクラス * * @author NOBITA */ class UserMst extends NbModels{ protected $_primary_key = "ID"; protected $_primary_increment = "auto"; } ?>
データベース名は全て大文字で記述(USER_MST)
モデルクラス名はUserMstとなり、NbModelsクラスを継承する
$_primary_keyでプライマリキーを指定します(デフォルトはID)
$_primary_incrementでauto_incrementか否かを指定します。(デフォルトはauto、否の場合はmanual)
NOBITAの設計思想は「PHPはテンプレート言語である」とあるため、ビューファイルはピュアPHPで記述します。
NOBITAフレームワークでは、コントローラーはユーザのアクセスポイント毎に用意されます。
多くのフレームワークではModelを操作するためにコントローラーが存在しますが、NOBITAフレームワークではそのような事はありません。
これは、開発者が使いやすくなるように考えられています。
NOBITAフレームワークのコントローラーは必ずNbControllerクラスを継承します。
アプリケーション用のルートクラスとしてNbControllerクラスを継承し、各クラスがルートクラスを継承する方法でも構いません。
全てのコントローラーで共通の処理を書く場合に、この方法は有用です。
コントローラーの中にはアクションと呼ばれるメソッドを多数定義する事ができます。
例えばCookingコントローラのmakeアクションを呼び出す場合は、/app/controller/cooking_controller.phpがコントローラーのファイルとなり、メソッドとしてmakeを定義します。
その際のアクセスポイントはhttp://example.com/cooking/make/になります。
なお、メソッドを省略した場合は、indexメソッドが呼ばれます。
http://example.com/cooking/と!http://example.com/cooking/index/は同じになります。
コントローラーにはいくつかのメンバ変数が定義されています。
$_render変数はviewをレンダリングするかどうかを定義します。
WEBAPIの作成など、viewが必要ない場合はfalseにします。
$_layout変数はデフォルトviewをレンダリングするかどうかを定義します。
NOBITAフレームワークでは、デフォルトヘッダーとデフォルトフッターを定義する事ができます。
/app/view/layouts/header.nbtと/app/view/layouts/footer.nbtがそれに当たります。
$_layout変数をtrueにするとコントローラーで定義したviewの前後にヘッダーとフッターが挿入されます。
NOBITAフレームワークでは、コントローラーに対するビューファイルは自動で割り当てられます。
cookingコントローラーのmakeアクションの場合のビューファイルは/app/view/cooking/make.nbtになります。
コントローラーにはモデルやビューと連携するためのいくつかのメソッドと開発を用意にするいくつかの便利なメソッドが用意されています。
<?php
class UserController extends NbController {
}
?>