タグ

smartyに関するbun2subのブックマーク (6)

  • [PHP] SmartyとUTF-8テンプレートの相性 - TechnoSketch blog

    Smartyでハマったことがあったので覚書。 ウェブデザイナが作成したページデザイン(HTMLファイル)をVS.phpで開いて必要なSmartyのタグを挿入してテンプレート化した後、呼び出し元となるPHPファイルを作成してテンプレートをロードしてSmarty::display()したところ、一部のページでトップに空白行が表示されるという現象が現れた。全てのページで発生しているのではないところが気持ち悪い。 当初原因がわからずにいろいろ試して往生したが、急がば回れで生成されたページをブラウザで保存してバイナリエディタで開いてダンプしたところ、ページ冒頭に16進表記で0xEF 0xBB 0xBFという見覚えの無い文字コードがあることが発覚。この文字コードでネット検索してみたところ、UTF-8形式のファイルの冒頭に挿入されるBOM(バイトオーダーマーク)であることがわかった。BOMが入らないUT

  • 47. Smartyのキャッシュを使って負荷を下げよう

    アクセスが集中するサイトや、アクセス数が多くなる予定のあるページなどではサーバ の増強などの対策を立てることができますが、アプリケーション側でも大きく負荷を軽 減することができます。 そこでSmartyに備わっているキャッシュ機能を使って処理の量を軽減させましょう。 今日、PHPの開発ではSmartyを使ったシステムが多く見受けられます。Smartyを使ったことがある方にとって、Smartyのキャッシュを使うことは難しいことではなく、むしろあっさり実装できてしまうことが嬉しいです。 それではSmartyのキャッシュ機能について紹介していきます。 まずはキャッシュの設定をしましょう。 Smartyクラス各メンバ変数の上書きです。 <?php require_once "../libs/Smarty.class.php"; $smarty = new Smarty(); // まずはキャッシュ

    47. Smartyのキャッシュを使って負荷を下げよう
  • PHP とテンプレートエンジン (Smarty/patTemplate)

    PHPでは、HTMLページ内に<?php ?>タグで括る事によって、 HTML(デザイン部分)とプログラム(ロジック部分)を同一ページに記述できます。しかし、同じファイル内にデザイン部分とロジック部分を記述するとメンテナンスが非常に困難となります。Java でも JSP で同じような問題が発生し、JSP 2.0 でカスタムタグの導入により ロジック部を分離することができ、Struts というフレームワークまで生まれました。 PHP では、Template Engine という技術によってデザイン部分とロジック部分を分離させメンテナンスを向上させることができるようになりました。このことで、デザイナーとプログラマーが同時に作業を行えるようにもなりました。この Template Engine は、それほど作るのに難しくはありません。しかし、自分で創って自分でメンテナンスしていくのは大変というので

  • ninnin.net blog: Smartyで静的htmlを生成する

    Smartyで静的htmlを生成する HPを作成する際に、管理画面からDBやテキストファイルに情報を記録して、それを読み出して表示する、 というのは良くある手法だが、アクセスがあるたびにデータソースにアクセスすることになるので、負荷が高くなりやすい。 そこでデータソースの更新時にHTMLファイルを生成し、普段はそれをincludeするという方法を試してみた。 やり方は幾つか考えられ、当初はSmartyのoutputfilterを利用し、出力前のデータを取得する、 という方法をとっていたが、PHPのアウトバッファーを利用した方が簡単のようなので、その方法をとることにした。 下記のそのサンプルを掲載する。 (Smartyクラスの生成等は省いたコア部分のみのソース) # 出力サンプルPHP ob_start(); //アウトバッファーSTART $smarty->display('

  • デザイナーでも作れるスマートWebアプリ - maru.cc@はてな

    〜Smartyでスマートプログラミング〜 テンプレートエンジンって使ってるかい? 「テンプレートエンジン - Wikipedia」 デザイナとプログラマなど、作業の分担ができ、チームでの開発がやりやすくなる ロジック側はプログラマで、テンプレート側はデザイナーが使うので分業しようということだね。 つまり、テンプレートはデザイナーが触れるということだよね。 でね。phpのSmartyってテンプレートエンジンは知ってるかな? http://www.smarty.net/manual/ja/what.is.smarty.php Smarty は PHP のためのテンプレートエンジンです。具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。 これは、プログラマーとテンプレートデザイナーの役割が異なり、 これらの役割を違う人間が受

    デザイナーでも作れるスマートWebアプリ - maru.cc@はてな
  • Smarty - PHPで利用するテンプレートエンジン

    SmartyはPHPで利用できるテンプレートエンジンです。Smartyを使うことで画面デザインとプログラム部分を分けて開発することが容易となります。ここではSmartyのインストールと実際の利用方法について確認していきます。 ダウンロード インストール php.iniへの設定追加

  • 1