2013年12月25日水曜日

PHPフレームワークのPhalconで、カスタムヘルパーの作成

PHPフレームワークのPhalcon(1.2.4)で、カスタムヘルパーの作成です。おおまかに下記の3ステップ。いろいろ便利に利用できそうです。

1, 適当に、\Phalcon\Tagクラスを継承してMyTagsクラスを作成する。
2, Loaderに「library」フォルダを登録し、サービス(Dependency Injection)として読み込む。
3, Voltテンプレートエンジンで利用できるようになる。

/app/library/MyTags.php (文字列を短縮するtruncateを作成)
class MyTags extends \Phalcon\Tag
{
  static public function truncate($input, $length)
  {
    $ret = trim($input) ;
    if ( mb_strlen($ret) >= $length ) {
      $ret = mb_substr($ret, 0, $length) . "...";
    }
    return $ret ;
  }
}
/public/index.php
$loader->registerDirs(
  array(
  ...
  ...
    __DIR__ . '/../../app/library/',
  )
)->register();

$di->set('mytags', function(){
  return new MyTags();
});
/app/views/index/index.volt
{{ mytags.truncate(news.detail, 20)|e }}
実際に設定してみたサイトがこちら



参考サイト
Volt custom filters - evaluate variables(Discussion Phalcon Framework)

1 件のコメント: