Curry
PHP Framework

core

db

html

utility

Controller::model

public mixed model ( string $className = , string $alias = null, string $subdir = null )
引数で指定されたクラス名のモデルクラスのインスタンスを取得します。
通常は指定されたクラス名に対して、以下の条件を満たす場合、そのクラスのインスタンスを返します。

・モデル格納ディレクトリ内に名前規則に従ったモデルクラス定義ファイルが存在する
・そのファイル内に引数で指定された名前のクラスが定義されている
・Modelクラスを継承している

定義ファイルが存在しない場合、指定されたクラス名から命名規則によって導き出される、対応するテーブル名がセットされた状態でModelクラスのそのもののインスタンスが返ります。Curryではこれを空想モデルクラスと呼び、モデルクラスを定義しないでもテーブルアクセスが可能な仕組みになっています。詳しくはマニュアルを参照してください。

ただし、定義ファイルが存在するのに、中のクラス定義が正しくない場合は例外を発生します。

パラメーター

名前 内容
$className string モデルクラスのクラス名を指定します。
$alias string SQLエイリアスを設定します。これは、モデルインスタンスに対してsetAliasメソッドを実行するのと同様の結果です。
このパラメーターは省略可能です。
$subdir string このパラメーターは省略可能です。
モデルディレクトリ内を階層構造にしている場合に、対象のモデルクラスの存在するサブディレクトリのパスを、モデルディレクトリ以下の相対パスで指定します。

※Curryバージョン1.0系では第3パラメーターはデータベース接続インスタンス(PDO)の指定でしたが廃止されました。

返り値

モデルクラスのインスタンスを返します。