• ベストアンサー

テンプレートって使いますか

Smartyなどのテンプレートって使いますか?PHPは少ししかプログラムを書いたことがありませんが、ちょっとしたオンラインショッピング程度だと余り必要ないように感じます。楽天なみの巨大サイトを作ろうと思ったら必要かもしれないですが、実際Smartyなどのテンプレートって使われているんでしょうか?遅くなるって聞きますしどうなんでしょう?

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

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

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

たしかに、個人が一人で一回だけ構築してあとはほったらかしならば、必要性を強くは感じないでしょう。 しかし、長期的に使っていくうちにどこをどのように作ったのか忘れてしまいがちです。 たとえば、phpファイル内にHTMLごちゃ混ぜ状態だとどこをどういじればレイアウトが変わるのか訳の変わらない状態になります また、MVCを実現するために必ずしもテンプレートエンジンの類を使う必要はないのですが、長きにつかっていくにつれて、デザインを変更したい 表示レイアウトを変更したい という数々の要望がでてきます。 ましてや、企業などの業務でシステムを作る場合は多人数で同時に作業したり、人の入れ替えもありますし、多少遅くなったとしてもそれはサーバーの増強でなんとでもなる話ですが、開発効率を考えた場合こればっかりは後からお金をかけてもどうすることもできない要因です。 ですから、作業分担や作業効率、開発効率、耐変更容易性などの面を考えると「なんらかのテンプレートエンジンは必須である」 というのが業界として一般常識しつつあります。 1.とりあえず、適当にHTMLで画面に必要な項目を決めて作る 2.デザイナーさんがキッチリしたHTMLを書く間に、具体的な動きをプログラマーさんが作る 3.デザイナーさんからあがってきた綺麗なHTMLを反映させる(デザイナーさんがSmarty使えればプログラマは何もしなくて良い) という流れで作業できますが、phpとHTMLがごちゃ混ぜだと、 2の工程でデザイナーさんとプログラマーさんが喧嘩になります しかも、お客さんから「ここのデザインやっぱり変えて欲しいんだけど」と言われた場合にまたもや喧嘩になります。 テンプレートエンジンをつかったMVC構造で構築してゆくのになれると、個人でプライベートなサイトを構築するのも、非常に楽になります。

mellow91
質問者

お礼

丁寧に解説して頂きありがとうございました。自分で作るならテンプレートなんかいらないなーと思っていましたがやはり数人がくんでやるのにはテンプレートはかなり有効な技術なんですね。一度スマーティーを使ってみたいと思います。ありがとうございました!

関連するQ&A

  • smartyテンプレート読み込みについて

    Smarty動的Webサイト構築入門という書籍を見ながらSmartyを学習しているのですが、書籍のCD-ROMから落としたサンプルファイルを保存しているのですがどうしてもテンプレートを読み込むことができません。 03_01.php <?php require_once("../smarty/libs/Smarty.class.php"); $smarty = new Smarty(); $smarty->template_dir = "templates"; $smarty->compile_dir = "templates_c"; $smarty->assign("name", "Smartyさん"); $smarty->display("03_01.tpl"); ?> 03_01.tpl Hello, {$name}!! エラーメッセージ Warning: Smarty error: unable to read resource: "03_01.tpl" in C:\xampp\htdocs\smartybook\smarty\libs\Smarty.class.php on line 1092 03_01.phpは、C:\xampp/htdocs/smartybook/ren/に保存しています。 03_01.tplは、C:\xampp/htdocs/smartybook/templates/に保存しています。 どこが駄目なのか教えてください。 宜しくお願いします。

    • 締切済み
    • PHP
  • Smartyのテンプレート

    出来なくて困っていることがあります。 Smartyのテンプレートは通常「templates」フォルダに格納すると思いますが、そのファイルを書き換えることは可能でしょうか? 流れとして PHPで既存のテンプレートを表示 ↓ その中のPOSTデータを元に既存のテンプレートを上書きして保存 fopenのwで開き、smarty->fetchで情報を載せたデータを作り、fwriteで同じファイルに上書きしようとおもったのですが、うまくいきません。 そもそもtemplatesフォルダの中身をプログラムで更新できるものなのか、できるならどのようにするのがよいのか、お分かりになる方がいましたらご教授願います。

    • 締切済み
    • PHP
  • Smartyでテンプレートが読み込めない

    下記のソースを実行すると、テンプレートが読み込めずエラーになってしまいます。 うーん、何故なのか分からず困っております。 phpのバージョンは4.4.6なのですが、Ver5以降でないとサポートされないのでしょうか。 [source] <?php require_once("Smarty.class.php"); class MySmarty extends Smarty { function _MySmarty() { $this->Smarty(); $this->template_dir="../templates"; $this->compile_dir="../templates_c"; } } $o_smarty=new MySmarty(); $o_smarty->display("hello.tpl"); ?> [error message] Warning: Smarty error: unable to read resource: "hello.tpl"

    • ベストアンサー
    • PHP
  • smaryテンプレートを使う上で、Smartyオブジェクトを二つ作成し

    smaryテンプレートを使う上で、Smartyオブジェクトを二つ作成し、それぞれのそのなかの変数をひとつのテンプレートに表示するという方法は可能でしょうか?つまりそれぞれを同じテンプレートに表示する、という方法はできるのでしょうか?PHPは下記のようになります。 $smarty = new Smarty(); $smarty2 = new Smarty(); $smarty->assign('abc', $def); $smarty2->assign('ghi', $jkl); $smarty->display('aaa.tpl'); $smarty2->display('aaa.tpl'); それとも、オブジェクトと表示するテンプレートは1つずつでないといけないとだめで、$smartyと$smarty2は、どっちかひとつに統一する必要があるのでしょうか?

    • ベストアンサー
    • PHP
  • テンプレートについて

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

    • ベストアンサー
    • PHP
  • テンプレートの.htmlにPHPソースを入れる

    Smartyを使っています。 templateフォルダーにある、.htmlファイルにPHPソースを埋め込むと当然ではありますが、Smarty errorになります。unrecognized tagとでます。 .htmlファイルにPHPソースを埋め込む方法はあるのでしょうか? あるようでしたらご教授ください。 よろしくお願いします。

    • ベストアンサー
    • 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
  • Smartyのテンプレートからjavascriptに配列を渡す

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

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

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

  • Smartyなどのテンプレートって使っていますか?

    PHPを勉強しはじめたばかりですが、PHPで比較的大きな ウェブサイトを開発している場合、smartyなどのテンプレート って使用するんでしょうか?それともhtmlに埋め込んで行く 方法をとっているでしょうか?もちろん、どちらの方法も 会社によってやられているとは思いますが、どちらがスマートな 方法なんでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう