ビューレンダリング系の関数
目次
- リダイレクト処理 : redirect_to() ― 指定URIに基づきリダイレクトします
- リダイレクトURIの取得 : redirect_uri() ― 指定URIをリダイレクトURIに変換します
- レンダリング処理 : render() ― ビューをレンダリングします
- レイアウトコンテンツの取得 : render_content() ― レイアウトでビューコンテンツをを取得します
- ビューテンプレート名のセット : render_name() ― ビューをセットします
- ビューテンプレートへレンダリング変数のセット : render_set() ― ビューへ変数をセットします
- レイアウトテンプレート名のセット : layout_name() ― レイアウトをセットします
- URLの取得 : url() ― URLを取得します
- URIの取得 : uri() ― URIを取得します
- JSON出力 : json_view() ― JSON出力を行ないます
- JS/CSSをアセット : asset_for() ― アセットをセットします
- JSタグの取得 : asset_javascript_tag() ― JSタグを取得します
- CSSタグの取得 : asset_stylesheet_tag() ― CSSタグを取得します
- JS/CSSスクリプトのアセット開始 : content_for() ― アセットバッファリングを開始します
- JS/CSSスクリプトのアセット終了 : content_end_for() ― アセットバッファリングを終了します
リダイレクト処理
redirect_to($url, $code = 302)
指定のURLにリダイレクトします。
この関数は内部で redirect_uri()
関数をコールします。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$url | string | リダイレクトするURLを指定します |
$code | integer | レスポンスコード(302, 301)を指定します |
リダイレクトURIの取得
redirect_uri($url, $https = 'HTTPS')
指定のURLをリダイレクト用にプロトコルスキーマを含むFQDNのURLへ変換します。
第2引数の $https
で、SSL通信時に定義される $_SERVER の変数名をチェックします。Apache等では $_SERVER['HTTPS'] = 'on' が指定されます。
この関数は内部で uri()
関数をコールします。
戻り値
型 : string
引数値
項目 | 型 | 内容 |
---|---|---|
$url | string | リダイレクトするURLを指定します |
$https | string | SSL通信時のリクエストヘッダー変数名を指定します |
レンダリング処理
render($name, array $params = array(), $flush = TRUE)
ビューをレンダリングします。
この関数の用途は、ビューテンプレート内部で別のビューテンプレートを読み込む時や、ロジッククラス等でビューテンプレートの文字列操作をするのに利用します。
戻り値
型 : void or string
$flush
フラグが TRUE の場合、実行結果は標準出力となります。 FALSE の場合は実行結果の文字列が返されます。
引数値
項目 | 型 | 内容 |
---|---|---|
$name | string | ビューテンプレート名を指定します |
$params | array | ビューテンプレートに渡すLPVパラメータ値を指定します |
$flush | boolean | ビューテンプレートの標準出力フラグを指定します |
レイアウトコンテンツの取得
render_content()
レイアウトテンプレート内部でURI ルーティングにマッピングされた、モジュールのビューテンプレートをレンダリングした文字列を返します。
この関数の用途は、レイアウトンプレート内部でコンテンツを表示する時に利用します。
戻り値
型 : string
引数値
なし
ビューテンプレート名のセット
render_name($name = TRUE, array $vars = array(), $security = TRUE)
ビューテンプレート名をセットします。
この関数の用途は、ロジッククラスなどで任意のビューテンプレートを指定することで動的なテンプレート切り換えとして利用します。
戻り値
型 : string or void
$name
が「TRUE」の場合(デフォルト)、現在のビューテンプレート名が返されます。
引数値
項目 | 型 | 内容 |
---|---|---|
$name | mixed | ビューテンプレート名を指定します |
$vars | array | ビューテンプレートに渡す変数値を指定します |
$security | boolean | $vars 値のサニタイズ可否フラグを指定します |
ビューテンプレートへレンダリング変数のセット
render_set(array $vars, $security = TRUE)
ビューテンプレートに変数をセットします。
この関数の用途は、ビューテンプレートへの変数受け渡しとして利用します。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$vars | array | ビューテンプレートに渡す変数値を指定します |
$security | boolean | $vars 値のサニタイズ可否フラグを指定します |
レイアウトテンプレート名のセット
layout_name($name = TRUE)
レイアウトテンプレート名をセットします。
この関数の用途は、利用するレイアウトテンプレート名を変更したり、無効化する際に利用します。
戻り値
型 : string or void
$name
が「TRUE」の場合(デフォルト)、現在のレイアウトテンプレート名が返されます。
また、「FALSE」を指定した場合は、レイアウトテンプレート機能が無効化されます。
引数値
項目 | 型 | 内容 |
---|---|---|
$name | mixed | レンダーテンプレート名を指定します |
URLの取得
url($url)
アセットするためのURLを取得します。
この関数は、ビューテンプレートでアセットするURLを動的に調整します。
$url
に指定する文字列がFQDNのURL又は、「/」から始まるルート相対パスの場合はそのまま返します。
それ以外の場合では uri()
関数と同様の処理が行われます。
戻り値
型 : string
引数値
項目 | 型 | 内容 |
---|---|---|
$url | string | アセットURL/URIを指定します |
URIの取得
uri($uri)
ディスパッチャーフォルダを考慮し調整したルート相対パスを取得します。
この関数は、ビューテンプレートで使用するURLを動的に調整します。
戻り値
型 : string
引数値
項目 | 型 | 内容 |
---|---|---|
$uri | string | URIを指定します |
JSON出力
json_view($data)
JSON形式で標準出力し終了します。レイアウトテンプレートは強制的に「FALSE」になります。
この関数の用途は、主にAPI方式のプログラムで利用します。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$data | mixed | JSON形式に変換/出力する値を指定します |
JS/CSSをアセット
asset_for($type, $file[, ...])
JS/CSSをビューテンプレートへアセットします。
この関数の用途は、ロジッククラスなどで事前にビューテンプレートがレンダリングされる前にJS/CSSをセットして利用します。
ビューテンプレートでの出力には、関数 asset_javascript_tag()
や asset_stylesheet_tag()
と合わせて利用します。
利用例
// ロジッククラス
asset_for('javascript'
, 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js'
, 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js'
, array('src' => 'aseets/js/common.js', 'charset' => 'utf-8')
);
// ビュー、又はレイアウトテンプレート
asset_javascript_tag('all');
// 実際の出力内容
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>
<script type="text/javascript" src="/admin/assets/js/common.js" charset="utf-8"></script>
指定したURLは内部で url()
関数と同じ処理が実行されます。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$type | string | アセットタイプ javascript or stylesheet を指定します |
$file[, ...] | mixed | アセットファイルを指定します(可変長で複数指定可能) |
$type
では、アセットタイプにモード名を付与することができます。
このモード名は、ブラケットを用いて javascript[member]
の形式で指定することができます。
モード名を付与した場合は、asset_javascript_tag()
や asset_stylesheet_tag()
関数でモード名を指定することで該当のアセットを取得することができます。
$file
では、配列で直接属性を指定する事も可能です。
例) array('src' => 'http://〜', 'charset' => 'utf-8')
JSタグの取得
asset_javascript_tag($mode = 'all')
asset_for()
関数でアセットされたJSタグを取得します。
この関数の用途は、ビュー/レイアウトテンプレートでJSタグを出力する場合に利用します。
戻り値
型 : string
引数値
項目 | 型 | 内容 |
---|---|---|
$mode | string | 出力するモード名を指定します |
$mode
はデフォルトで「all」となっており、通常はそのまま利用します。
アセット関数 asset_for()
の第1引数にあたる「アセットタイプ」で任意のモード名を指定することにより、この $mode
変数で取得するアセットモードを選択することができます。
アセットモードが「all」(デフォルト)の場合、モード名に関係なく全てのアセットを取得します。
CSSタグの取得
asset_stylesheet_tag($mode = 'all')
asset_for()
関数でアセットされたCSSタグを取得します。
この関数の用途は、ビュー/レイアウトテンプレートでCSSタグを出力する場合に利用します。
モードに関しては、JSタグの取得と同じです。
戻り値
型 : string
引数値
項目 | 型 | 内容 |
---|---|---|
$mode | string | 出力するモード名を指定します |
JS/CSSスクリプトのアセット開始
content_for($type)
JS/CSSスクリプトをアセットするためバッファリングを開始します。
この関数の用途は、ビューテンプレート内で記述したJS/CSSをアセットする場合に利用します。
バッファリングを終了する関数 content_end_for()
と一緒に使用し、レイアウトテンプレートでの出力には、バインド変数 $content_for_javascript
や $content_for_stylesheet
から利用できます。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$type | string | アセットタイプ javascript or stylesheet を指定します |
JS/CSSスクリプトのアセット終了
content_end_for($type, $packer = TRUE)
JS/CSSスクリプトをアセットするため開始したバッファリングを終了します。
この関数の用途は、ビューテンプレート内で記述したJS/CSSをアセットする場合に利用します。
バッファリングを開始する関数 content_for()
と一緒に使用し、レイアウトテンプレートでの出力には、バインド変数 $content_for_javascript
や $content_for_stylesheet
から利用できます。
戻り値
型 : void
引数値
項目 | 型 | 内容 |
---|---|---|
$type | string | アセットタイプ javascript or stylesheet を指定します |
$packer | boolean | エンコードライブラリの利用フラグ |