• ベストアンサー

2008年現在でおススメのテンプレートはありますか?

漠然とした質問ですみません。 以前からPHPのテンプレートエンジンに興味があり、利用を検討しているのですがいずれも使い方が違うのでどれを使えばいいか悩んでいます。 ネットや教えてgooの過去質問で調べてみても、情報が古いものが多く「もしかして今ならsmartyよりもいいものがあるのかも?」とか考えて踏ん切りがつかずにいます。 そこで、皆様の独断でけっこうですので2008年現在でおススメのPHPテンプレートエンジンを教えて下さい。 お手間でなければその理由も教えてください。 「テンプレートエンジンなんて使わないよ」というご意見も歓迎です。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • nicolish
  • ベストアンサー率72% (13/18)
回答No.1

Simplate  Smarty互換の軽量テンプレートエンジンを目指して作られた。  (ただし、Smartyの機能のうち無駄そうなものは削りまくっている)  PHPファイルではなく、PECLライブラリなどのようにエクステンションとして動作するのでかなり速い。 男前テンプレート/派生  http://anond.hatelabo.jp/20071030034313  たった60行。phpファイルをテンプレートのように使用する。  軽量なのと動作が速いのが特徴。自分は小規模なものにはこれをいじって使ってます。 PEAR::HTML_Template_Flexy  http://pear.php.net/manual/ja/package.html.html-template-flexy.php  おなじみPEAR。PEARにはいくつかテンプレートエンジンがあるけれど、これが一番使いやすい(個人的感想)。  ただ、事実上の業界標準がSmartyなので、ユーザーの多さを条件にするならそっちかなぁ。 PHPTAL  http://phptal.motion-twin.com/  XMLの構文として変数を埋め込む。これは他の言語(PythonやJava)ではよく使われるテンプレート形式。  最大の利点は{foreach}とか{$var}とかでHTMLが汚れないので、デザイン作業が極めてやりやすい事。  また、Smartyでは実現できないような強力な機能も数多くそろえています。  Smartyに固執する理由が無いなら一押し。

monmo__
質問者

お礼

お礼が遅くなってすみません。 教えていただいた中では、Simplateが気になりますね。 それをカスタマイズして使うのが一番自分にあっているかも知れません。 事実上の業界標準がSmartyとのことですので、これを機会にSmartyも勉強してみます。 貴重なご意見とアドバイスありがとうございました。

関連するQ&A

  • Pythonのテンプレートエンジン

    Pythonを勉強しようと思っています。 PHPのSmartyのような、Pythonにもテンプレートエンジンなどあるのでしょうか?

  • テンプレートについて

    こんにちは。 PHPでテンプレートを使ってページを作りたいのですが、 何を使うのが一番良いのか、教えてくれませんか? 希望は、mumuやhtmltempleteのような、設置が簡単なものです。smarty?はインストールが必要だとのこと。 それであれば、レンタルサーバーに左右されるじゃないですか? 今のところ、mumuっていうのとhtmltemplateしか見つけれないのですが、他に何かいいものありませんか?2つともあまり盛んじゃない みたいなので・・・ 過去にhtmltemplateを使ってページを作ったことはあります。

    • ベストアンサー
    • PHP
  • Smartyのテンプレートからjavascriptに配列を渡す

    お世話になります。 PHP+Smartyで開発しております。 質問なのですが、 PHPからSmartyに連想配列をアサインします。 そして、そのテンプレートよりjavascriptへ配列を渡すことは 可能でしょうか? もし可能でしたら、ご教授願えないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • テンプレートエンジン

    phpのテンプレートエンジンについて。 テンプレートエンジンについて興味を持ち、触ってみたいのですがどのようなサイト構成のときに使えますか? イメージでは、ここの質問掲示版のような膨大な数の投稿やマイページ(会員登録情報) があるとき、情報または質問内容とデザインに区切り、テンプレートエンジンを使うことでページを構築することができるんじゃないか?と思うのですが、どうでしょうか? 例なども教えてもらえれば幸いです。

  • テンプレートエンジンとフレームワークどちらを先に学ぶべき?

    具体的には、 テンプレートエンジン ⇒ Smarty フレームワーク ⇒ cakePHP を使えるようになりたいのですが、 どちらを先に学ぶべきでしょうか。 PHP自体、現在勉強中なのですが、 一通りわかってきたので、次のステップに移ろうと思い迷っております。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPフレームワーク環境でのSmartyの必要性

    PHP でシステムを開発する際ですが、恐らく何かしらのフレームワークを利用した場合は大半だと思います。そう言った時にテンプレートエンジンの Smarty を合わせて利用するかどうか意見が別れる時があります。 PHP でフレームワークが今ほど使われていなかった大昔は、素の PHP 実装 + Smarty で、ロジックとテンプレートを分離する流れがありました。 しかし、現在利用されるほとんどのフレームワークでは当たり前のように MVC の思想で構成されており、ロジックとテンプレートは初めから分離されています。 そう言った状況の中、Smarty を各フレームワークと連携してテンプレートエンジンとして利用する必要がどれほどあるのか、判断に苦しみます。 皆さんはどう考えるでしょうか?

    • 締切済み
    • PHP
  • ZendFrameworkを使う上でのテンプレート

    趣味でZendFrameworkを使って何かサイトでも作ってみようかと思います。 そこで、ViewにはZend_Viewを利用するべきかSmartyを利用するべきかで悩んでます。 ZendFramework1.0.0より以前の時、Smartyの方がテンプレートエンジンとして 特化してる分、Zend_Viewより良い機能があるというような事を聞いた事がありますが、 比較表なども作れず優れた方を自分で決断する事が出来ずにいます。 Zend_ViewとSmarty、どちらが良いのでしょう? 併せて良い所、悪い所を挙げて頂けると幸いです。 先人な方からご教示頂けたらと思います。

    • ベストアンサー
    • PHP
  • SmartyでMySQLに登録したテンプレートを使用するには?

    現在、Smartyを使用してブログを作成しようとしています。 テンプレートファイル(htmlソース)をMySQLに登録し、 これを呼び出して出力する方法を教えてください。 ※各ユーザーでレイアウトを変更するため Smartyマニュアルの「テンプレートリソース」等を確認しましたが、 なかなかうまく表示されません。 http://smarty.php.net/manual/ja/template.resources.php MySQLに「template」フィールド作成し、ここにHTMLソースを記述しています。 試した方法は 1.display時に「template」フィールドを呼び出し ×変数が呼び出されない 2.custom.tplを作成し、「template」フィールドをecho。そしてdisplay ×変数がそのまま出力 3.「テンプレートリソース」の利用 ×うまく表示されない クラス「SQL」を作成しないといけない? サンプルや他に方法が記載されているサイトがあれば教えてください。

    • 締切済み
    • PHP
  • Smartyでテンプレートの場所を指定する方法

    Smartyでテンプレートファイルの場所を指定するいい方法を教えてください。 公式マニュアルには基本的には(1)のようにやるのだと書いてあります。そして拡張セットアップとして(2)の方法が紹介されています。これなら「ディレクトリパスの設定を同じ変数に何度も割り当てる代わりに、一箇所でそれらを行う事が出来ます」とのことですが…。 しかし拡張セットアップの方法でも、プログラムファイル(.php)の中に環境依存の値を記述しています。私はJava開発の経験はあり、PHP開発の経験は無く、現在は趣味の範囲でPHPをやっています。 で、Javaの経験からすると、環境依存の値も設定ファイルのパスもプログラムファイルに書くことはまず無いので、(2)の方法でも気持ち悪く感じます…。また「ページを呼び出すたびに毎回setup.phpを呼ぶの?サーバー起動時に読み込むべき値・ファイルだろうが…」とも思ってしまいます。 …しかし私がどう感じるかは別として、実際の開発の現場ではどうすることが多いのか知りたくて質問をする事にしました。 質問は以下です。 [a]Smartyのテンプレートファイルのパスなどは、どこにどう書くことが多いのか? [b]Smartyに限らず、PHPという言語では、環境設定の値や設定ファイルのファイル名やパスを、プログラムファイル(.php)に書くのがあたりまえなのか?どうすることが多いのか。 [c]PHPではプログラムで使う値として、サーバー起動時に設定値・設定ファイルを読み込む一般的な仕組みがあるか?(サーバー設定値でもないのにphp.iniに書いてini_getで取得するなんてことが許される?他にもっとスマートな方法がある?) ※具体的な例を挙げて教えていただけると助かります。また、「あまりやらないけど、こうやったこともあるよ」などというイレギュラーなケースも教えていただけるとうれしいです。 よろしくお願いします。 --(1)index.php--------------------------------------------- <?php require_once(SMARTY_DIR . 'Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = '/web/www.example.com/guestbook/templates/'; $smarty->compile_dir = '/web/www.example.com/guestbook/templates_c/'; $smarty->config_dir = '/web/www.example.com/guestbook/configs/'; $smarty->cache_dir = '/web/www.example.com/guestbook/cache/'; $smarty->assign('name','Ned'); $smarty->display('index.tpl'); ?> ----------------------------------------------------------- 基本的なインストール | Smarty http://www.smarty.net/docs/ja/installing.smarty.basic.tpl --(2)setup.php--------------------------------------------- <?php require('Smarty.class.php'); class Smarty_GuestBook extends Smarty { function __construct() { parent::__construct(); $this->template_dir = '/web/www.example.com/guestbook/templates/'; $this->compile_dir = '/web/www.example.com/guestbook/templates_c/'; $this->config_dir = '/web/www.example.com/guestbook/configs/'; $this->cache_dir = '/web/www.example.com/guestbook/cache/'; $this->caching = Smarty::CACHING_LIFETIME_CURRENT; $this->assign('app_name', 'Guest Book'); } } ?> --(2)index.php--------------------------------------------- <?php require('guestbook/setup.php'); $smarty = new Smarty_GuestBook(); $smarty->assign('name','Ned'); $smarty->display('index.tpl'); ?> ----------------------------------------------------------- 拡張セットアップ | Smarty http://www.smarty.net/docs/ja/installing.smarty.extended.tpl

    • ベストアンサー
    • PHP
  • PHPのフレームワーク選定

    PHPで何かしらのフレームワークを使おうと思っていますが、経験がないので各フレームワークの特徴が分からず、何を選んでいいか分かりません。 とりあえずテンプレートエンジンの機能だけでもよかったので、シンプルで使いやすそうなSmartyを使ってみました。Smartyは簡単な設定のみで利用できたものの、すべてのソース(テンプレート以外のプログラムファイル)に # $smarty->template_dir = '…'; # $smarty->config_dir = '…'; などと、テンプレートファイルや設定ファイルのディレクトリを書かねばならず、環境依存の記述をプログラムファイルに書きまくる事を前提としていて、これはありえないなと思いもう少しきちんとしたつくりのフレームワークを使おうと思いました。 ※最悪の場合、<?php include './common.php'; ?>などと書こうかと思ったのですが、それでもプログラムファイルに環境依存の値を書くことには変わらないので、そうしなくともよいものを利用したいと思っています。 条件としては ・テンプレートが利用できる【必須】  (サイトの共通デザイン部分と変化する部分の分離をしたい) ・Windows環境で開発しレンタルサーバにアップする関係もあり  環境依存の記述は最小限にしたい。少なくともプログラムファイルに  書かずに済むようにしたい。【必須とは言わないが強い希望】 ・設定が簡単なほどいい ・多くのレンタルサーバで使えるものがいい ・「http://…/home.php」などとPHPのファイル名丸出しのURLではなく、  「http://…/home」とできるなど、ファイル名とURLを分離できるとうれしい ・DBは「今のところ」使わないが将来的には使うかも という感じです。 上記条件に合致するお勧めのPHPフレームワークを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう