プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、viewの基本あれこれ。
■ファイルの置き場所
fuel/app/views/配下

■命名規則
ファイル名にアンダースコアは使わない方が良い?
※view_modelとの兼ね合いでおかしくなりそう

■コントローラからビューの呼び出し
View::forge()にviewを指定してreturnする。
public function action_view_test()
{
    return View::forge('hoge/vhoge');
}

■コントローラからビューへの値の渡し方
1.viewのオブジェクトのメンバ変数に設定して渡す
public function action_view_test()
{
    $view = View::forge('hoge/vhoge');
    $view->msg = "msg1";

    return $view;
}

2.set()メソッドを使う
public function action_view_test()
{
    $view = View::forge('hoge/vhoge');
    $view->set('msg', "msg2");

    return $view;
}

3.配列にしてView::forge()の第二引数で渡す
public function action_view_test()
{
    $data = array('msg' => 'hoge3');
    return View::forge('hoge/vhoge', $data);
}

■ビュー内での変数の取り扱い
普通のPHPコードと同じ。
foreach()でループさせたりif文で処理を切り分けたりも可能。

■変数のサニタイズ
FuelPHPではviewに渡す変数の値は自動でサニタイズされる。
サニタイズを抑止したい場合は、しかるべき方法で無効化する。

■変数のサニタイズの無効化
1.viewのオブジェクトのメンバ変数に設定して渡す場合
public function action_view_test()
{
    $view = View::forge('hoge/vhoge');
    $view->msg = "<hr>";
    $view->auto_filter(false);

    return $view;
}

2.set()メソッドを使う場合
public function action_view_test()
{
    $view = View::forge('hoge/vhoge');
    $view->set('msg', "<hr>", false);

    return $view;
}

3.配列にしてView::forge()の第二引数で渡す場合
public function action_view_test()
{
    $data = array('msg' => '<hr>');
    return View::forge('hoge/vhoge', $data, false);
}

■リンク指定の仕方
FuelPHPではパラメータの数や末尾の「/(スラッシュ)」の有無で階層が変わるため
相対パス指定ができない。
そこでパス指定には特殊なメソッドを使用する。
なおCSS、JavaScript、imageファイルは「public/assets/」配下に配置する。

1.CSS指定→Asset::css()
<html>
<head>
    <title></title>
<?php echo Asset::css('hoge.css'); ?>
</head>
<body>
    vhoge<br>
</body>
</html>
※「FuelPHP1.6、Asset::css()を理解する」参照

2.JavaScript指定→Asset::css()
<html>
<head>
    <title></title>
<?php echo Asset::css('hoge.css'); ?>
<?php echo Asset::js('bootstrap.min.js'); ?>
</head>
<body>
    vhoge<br>
</body>
</html>
※「FuelPHP1.6、Asset::js()を理解する」参照

3.画像指定→Asset::img()
<html>
<head>
    <title></title>
<?php echo Asset::css('hoge.css'); ?>
<?php echo Asset::js('bootstrap.min.js'); ?>
</head>
<body>
    vhoge<br>
<?php echo Asset::img('hoge.png'); ?>
</body>
</html>
※「FuelPHP1.6、Asset::img()を理解する」参照

4.内部リンク指定→Html::anchor()
<html>
<head>
    <title></title>
<?php echo Asset::css('hoge.css'); ?>
<?php echo Asset::js('bootstrap.min.js'); ?>
</head>
<body>
    vhoge<br>
<?php echo Asset::img('glyphicons-halflings.png'); ?>
<?php echo Html::anchor('welcome/index','ウェルカムページ'); ?>
</body>
</html>
※「FuelPHP1.6、Html::anchor()を理解する」参照

■ビューの入れ子
ビューの中でView::forge()すればOK。
<html>
<head>
    <title></title>
</head>
<body>
    vhoge<br>
<?php echo View::forge('hoge/vhoge2'); ?>
</body>
</html>
※「FuelPHP1.6、viewの入れ子をついて理解する」参照
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:FuelPHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事