のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,682,992人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【PHP】 Smarty 【テンプレートエンジン】 第2章

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
751 : nobodyさん - 2011/01/27(木) 22:40:47 ID:??? (+114,+29,-126)
>>750
いやだから、
①FW×Smartyは処理が遅い→②キャッシュを使えば解決する→③しかし動的な部分についてキャッシュは効果ない
という君の話に対して
④動的な部分はFW使おうが使わまいが毎度動的に生成するんだからFW関係ないんじゃないの?
(FW使わないときに「動的な部分が速くなる」なら話は別だけど)
と疑問に思っただけなんだが、どうなのよ。
俺が何か勘違いしてたら申し訳ないが。
752 : nobodyさん - 2011/01/28(金) 03:50:06 ID:??? (+58,-30,-157)
>>750
実際に試した上で>>734の結論なんだが。
xdebugのプロファイラログを検証した事もあるし、
APC切って単純なPHP単体でのベンチもした事ある。


Smarty導入が負荷になる事は認めるが、負荷で言うならCakeの方が数倍高い。
それなのにSmarty導入するだけで「秒単位」で遅くなる、
ってのは他の部分に何らかの欠陥があるとしか・・・

もし本当ならxdebugのプロファイルログ出してみ?
具体的にどのメソッドに時間かかってて、それがシステム全体の何%の負荷になってる?
753 : nobodyさん - 2011/01/28(金) 04:11:35 ID:??? (+0,-30,-284)
>>750
とりあえず参考までに俺のベンチ結果あげとくな、
糞みたいなサーバのxdebugプロファイルログを、
WinCacheGrindで閲覧して調べた結果。

・環境
 ZendFW(MVC、DB、Session)使用
 APCやMemcachedは無効
 Smartyでは文字コード変換フィルタかまし、
 ヘッダフッタを別ファイルからincludeする。

・結果
 トータル処理に846msかかる
 その内、Smarty全体の処理が75msを閉めており、
 その内、18msがテンプレートコンパイル、12msがinclude処理となっている。
 コール数ではassign、modifiler系が多いが、トータルでも5ms以下となっている。


どんなに複雑なコード書いてもSmartyで1000ms越えるのは難しいな・・・
もしかしてテンプレート内にDBに接続してデータ取得するようなコード書いてね?w
754 : nobodyさん - 2011/01/28(金) 21:38:56 ID:??? (+0,+0,+0)
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>750
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
755 : nobodyさん - 2011/01/29(土) 12:45:23 ID:??? (+0,+30,-84)
>>750
他人が『重い』って書いてたからそれを真に受けたの?
その『重い』にもレベルがあるでしょ
『●●っていうケータイ重いよ』というのを聞いて、1kgくらいあると本気で思い込むようなものだよ
それ説明書とか充電器とか合わせた重量測ってるだろwwwそんな感じ

秒単位で遅くなるんなら誰も使ってません、まずそこに気付こうよ
756 : nobodyさん - 2011/01/29(土) 12:58:04 ID:??? (+86,+29,-1)
はい、次の患者さん、どうぞ。
757 : nobodyさん - 2011/01/29(土) 20:23:30 ID:??? (+91,+29,-9)
WindowsXPも出た当初は重い重い言われていたなぁ('ー`)
今そんな事言ったら逆に笑われそうだよね
758 : nobodyさん - 2011/01/29(土) 22:03:51 ID:??? (+103,+29,-10)
>>756
引数を「いんすう」と読んでいた俺に一言
759 : nobodyさん - 2011/01/29(土) 22:35:43 ID:??? (+71,+29,-11)
>>758
影で同僚達に「インスウwwキタww」とか言われてるよ。
760 : nobodyさん - 2011/01/29(土) 23:04:34 ID:??? (+104,+29,-40)
>>757
VistaなんてSP1で軽量化に成功したのに重い重い言われてるよ。
SP1で改善されたと言っても笑われるだけ。
761 : nobodyさん - 2011/01/30(日) 00:02:19 ID:??? (+71,+29,-19)
>>760
例え話なのに論点ズレてる。誰もVistaの話なんてしていない。
762 : nobodyさん - 2011/01/30(日) 16:53:54 ID:??? (+0,+30,-243)
>>751
そういう意味なら俺の解釈が間違ってた。すまん。
>>752-753
そりゃ、最小構成でベンチとっても秒単位で差なんて出ないだろ。
俺は例で「ポータルサイト(動的サイト)」って出したけど、
そこまでの規模についての話をしてるんだよ。
>>755
>>750を読んでくれ。自分で「重くね?」って思ってググったら他人の投稿もあった。
だから俺の印象は間違ってなかったなと思ったに過ぎない。
もちろん、お前らの環境と俺の環境は違うから、コード時代に問題があるという
のもわかる。だが、頭ごなしに「FW+Smartyが重いはずはない!」って
解釈するのはいかがな物かと言いたいだけだ。

なぜか自分が大好きな物を批判されるとそれを認めたくない奴がいるが、
俺もSmartyは使ってるし、別に批判したいわけじゃない。
メリット・デメリット理解した上での使い分けが必要だと思ってるだけ。
あと、自分の意見が100%正しいとも思ってない。だから議論してるわけで。
763 : nobodyさん - 2011/01/30(日) 16:58:36 ID:??? (+62,+29,-98)
突っ込まれる前に誤字修正
コード時代に問題が  → コード自体に問題が


あと、コードの書き方やサーバの設定(環境)によって重さを感じさせない
ように出来るって意見もあるだろうけど、
チューニングしたら重くないというのはまた別の話な気がするけどな。

ま、俺がCakePHPで書いてる書き方をいくら変えたところで
ビューにSmarty使って重いという印象は変わらないと思うよ。
Zend使えばまた別なのかも知れないけど。
764 : nobodyさん - 2011/01/30(日) 19:37:19 ID:??? (+60,+29,-104)
日本語でおk

CakePHPってViewを処理する機構が用意されてるの?
だったらそちらを使った方が親和性が高く、処理は減る→軽くなる可能性はあるね

0.1秒の差でも100回リクエストでトータル10秒だから馬鹿に出来ない
秒単位の差が出ないから問題無いとの判断は違うと思う
最近はモデル部分の肥大化が激しくて、ビューなんざ何使っても関係ねー!って感じ

動的部分を極力JavaScriptにお任せして、ベースのHTMLもキャッシュサーバーに格納される様にしてるw
765 : nobodyさん - 2011/01/30(日) 20:24:06 ID:??? (+0,+30,+0)
>>762
意見受け入れてないのはお前じゃね?
「自分が間違った計測の仕方してる」って可能性は一切無視ですか?

>そりゃ、最小構成でベンチとっても秒単位で差なんて出ないだろ。
>俺は例で「ポータルサイト(動的サイト)」って出したけど、
>そこまでの規模についての話をしてるんだよ。

それは無い。
プロジェクトの規模が上がっても、Smartyにかかるコストはほぼ普遍的だから、
全体が重くなればなるほど、相対的にSmartyのコストは下がる。
トータル5000msのページだろうが、10000msのページだろうが、Smartyは100ms以下でしかない。

全体処理とSmartyの処理負荷が比例しているのであれば、
それは上にも書いたようにテンプレートやプラグイン内に、
DB接続等の極端に重い処理が含まれていると考えられる。
それらは本来Smarty内に含めるべきでは無いし、
それをSmartyの実行性能として含めるべきでも無い。

ご自慢の「俺の検証結果」とやらを調べて、どのメソッドが負荷になってるか教えてくれよ。
皆で問題と解決策を見いだそうぜ。
766 : nobodyさん - 2011/01/30(日) 20:30:04 ID:??? (+0,+29,-126)
>>765 補足
「それは無い」なんてありえないって言われそうけど、

>>753は君の言うポータルサイトのホーム画面だから。
DB数回叩いて、セッション確立して、Smartyで画面表示する程度だけど、
機能が増えても、DB叩く回数やデータを処理するロジックが複雑になるだけで、
Smartyが重くなる事は無い。

異論は君のベンチマーク結果を提示された時だけ認める。
767 : nobodyさん - 2011/01/30(日) 22:11:51 ID:??? (+52,+29,-3)
おまいら仲いいな
俺もまぜてくれ
768 : nobodyさん - 2011/01/30(日) 23:44:57 ID:??? (+4,-29,-21)
1回目のmsと2回目以降ののmsは?
769 : nobodyさん - 2011/01/31(月) 01:28:30 ID:??? (+0,-30,-130)
>>768
Smartyのコンパイルキャッシュを有効にすれば2回目以降は更に軽くなる。
>>753は全く最適化も行わず、force_compile=trueにしたSmartyでの計測値。

コンパイルキャッシュ有効にして、APC等も導入すれば、
一番重い処理であるテンプレートコンパイルとinclude処理が劇的に軽くなる。
770 : nobodyさん - 2011/01/31(月) 04:36:16 ID:??? (+63,+30,-124)
まぁ、smartyを使うのと使わないのとでは、そりゃ使ったほうが重いわな。
FW+SmartyがFWのみより重いのは当然だ。
それでも、他の人が言ってるように、全体からみれば、その重さも微々たるもので、
便利なテンプレートエンジン使えるメリットは大きい。
使わないで済むならつかわなくていいし、かといって使ってる人に"重いのによく使うな"っていうのはナンセンスってことだ。
771 : nobodyさん - 2011/01/31(月) 06:39:47 ID:??? (+3,-30,-67)
Smarty使った場合、template_cにあるコンパイル済みPHPをincludeして
実行する分だけ遅くなると思うのだが。

それが1秒もかかるってことは・・・template_cディレクトリを
フロッピーディスクに指定してたりして。
772 : nobodyさん - 2011/01/31(月) 09:37:11 ID:??? (+52,+29,-2)
多分使い方が下手なんだろうな
773 : nobodyさん - 2011/01/31(月) 10:34:01 ID:??? (+57,+29,-40)
smarty単品だけ使うのってメジャーですか?
フレームワークとあわせてつかうものですか?
774 : nobodyさん - 2011/01/31(月) 11:27:25 ID:??? (+57,+29,-15)
>なぜか自分が大好きな物を批判されるとそれを認めたくない奴がいるが、

え?そういう次元の低い話してたの?
775 : nobodyさん - 2011/01/31(月) 13:17:00 ID:??? (+6,-21,-20)
だからsmartyはもう終わったの
dwooの時代なの
776 : nobodyさん - 2011/01/31(月) 16:39:08 ID:??? (+57,+29,-32)
何度かdwooの話は出てきたが、すぐに消えていったな
マニュアルか何かを日本語に訳した人がいたけど、何か訳がおかしいとか言われてたっけな
導入例がないものを使うのは気が引けるという人もいたし
777 : nobodyさん - 2011/01/31(月) 18:07:22 ID:??? (+57,+29,-35)
俺は新しい物好きだけどテンプレート書くのは別のhtml職人だからなぁ。
なかなかすぐに導入って難しいよね。
778 : nobodyさん - 2011/01/31(月) 21:01:55 ID:??? (+37,-29,-111)
DWOO、TWIG、Smarty3と比較して、
Smarty3を実践導入したんだけど、Smarty2で不満に思っていた点はほぼ全て解消されてたわ。
プラグインも2のをそのまま使えるし、今のところ不具合も見あたらない。
乗り換え推奨したいところ。
779 : nobodyさん - 2011/01/31(月) 22:21:04 ID:??? (+57,+29,-46)
たしか、smartyはLGPLでdwooはMITだっけ。
この違いはちょっと気になる。まぁ前者はリンクするだけならオープンにしなくていいけど、後者はほぼ何も考えなくてもいいし。
780 : nobodyさん - 2011/01/31(月) 23:26:36 ID:??? (-2,-30,-27)
__autoload使ってる状態でsmarty3にしたら動かなかったから2に戻した
spl_autoload_registerしなきゃいけないようだ
781 : nobodyさん - 2011/02/01(火) 19:55:26 ID:??? (+62,+29,-14)
>>778
乗り換え躊躇していただけに、心強いデス。
サンキゅ。
782 : nobodyさん - 2011/02/02(水) 20:09:32 ID:??? (+31,-29,-74)
ZendFrameworkでいうレイアウト機能(Layout)って、Smartyに
あるのでしょうか?

(Document読みましたが見つかりませんでした・・・)
783 : nobodyさん - 2011/02/02(水) 20:21:36 ID:??? (+75,+30,+0)
784 : nobodyさん - 2011/02/02(水) 21:27:12 ID:??? (+44,+6,+1)
>>783
ありがとうございました!!!
785 : nobodyさん - 2011/02/07(月) 16:26:00 ID:??? (+57,+29,-32)
smartyのマニュアルに書いてある機能って全て使う機会ってありますか?
8. カスタム関数のように厳選するなら何番をよく使いますか?
http://www.smarty.net/docs/ja/index.tpl
786 : nobodyさん - 2011/02/07(月) 16:50:43 ID:??? (+3,-29,-33)
include, foreach, if くらいしか使わないのがかっこいいと思ってる。
そのぶんPHP側でやるわけだが、労力の差し引きがゼロなら
テンプレートがシンプルなほうがエライ(`・ω・´)キリッ
787 : nobodyさん - 2011/02/07(月) 17:02:14 ID:??? (+62,+29,-56)
>>782
悪いことは言わないがsmartyでレイアウトなんてやるな
キャッシュを手動で消さないといけないからトラブルの元になるぞ
788 : nobodyさん - 2011/02/08(火) 10:20:52 ID:??? (+3,-30,-120)
Smarty3の{function}って地味に便利だね
今まで細々と{include}で対応していた細かいパーツ群が綺麗に纏まった。

Smarty2
{include file="/include/navigation.tpl" current="top"}



Smarty3
{call show_navigation current="top"}
789 : nobodyさん - 2011/02/08(火) 11:25:55 ID:??? (+56,+28,-8)
そのうちPHP並みに便利になりそうだな・・・
790 : nobodyさん - 2011/02/08(火) 11:48:05 ID:??? (+57,+29,-26)
Smarty3で便利だなと俺が思ったのは継承だな。
楽になってシンプルになる。
791 : nobodyさん - 2011/02/08(火) 12:59:02 ID:??? (-2,-30,-46)
{$array = [1,2,3]} と書ける時点である意味PHPより便利かもw

IDEの色分け(&コード補完)が浸透してくれれば、もう何も文句は無い。
792 : nobodyさん - 2011/02/08(火) 13:24:09 ID:??? (+29,-30,-45)
・array.php
$array=[1,2,3];

・a.php
$file=file_get_contents('array.php');
eval($file);
793 : nobodyさん - 2011/02/08(火) 19:41:30 ID:??? (+56,+29,+0)
>>792
おまえは何がしたいんだ
794 : nobodyさん - 2011/02/12(土) 09:59:04 ID:??? (+51,+23,-15)
みなさん、smartyがバージョンアップしましたよ
795 : nobodyさん - 2011/02/12(土) 10:26:10 ID:??? (-2,+30,+0)
796 : nobodyさん - 2011/02/13(日) 19:46:05 ID:??? (+38,+10,-32)
Smarty2 から Smarty3 に、何も変更なしでいけた。
こりゃいいわ。
797 : nobodyさん - 2011/02/14(月) 14:52:52 ID:??? (+31,+8,+0)
3じゃ動かなかった
798 : nobodyさん - 2011/02/16(水) 16:57:01 ID:??? (+154,+29,-52)
SmartyがあればCakePHPがいらないことに気づいたわ
今までCakeを勉強していた時間ってなんだったんだろう・・・
799 : nobodyさん - 2011/02/16(水) 16:59:08 ID:??? (+52,+29,-7)
何でいらないって思ったの?
800 : nobodyさん - 2011/02/16(水) 17:01:36 ID:??? (+52,+29,-3)
何で必要だと思うの?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について