【PHP】 Smarty 【テンプレートエンジン】 第2章
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/03/29(月) 14:41:04ID:???具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。
0357nobodyさん
2010/06/04(金) 21:11:42ID:???Smarty(テンプレートエンジン)否定派が沸く
↓
Smarty派は使う事のメリットを提示する
↓
否定派はメリットを絶対に認めずデメリットのみを主張
↓
Smarty派は使わない事のデメリットも提示する
↓
否定派ファビョル
PythonとかRubyを使っているモダンオナニストがPHPを否定しているような状況に似ているな。
所詮は道具なのに、なぜ使い分けが出来ない?
0358nobodyさん
2010/06/05(土) 19:41:11ID:???>>354, >>356←こいつは前から一貫して意味不明なことをホザくので
俺も対応に苦慮してる。
デザパタとかFWの理解がまったくもってなってないので
話がまったく通じない。
精神異常者と話すってこういうことなんだと思った。
0359nobodyさん
2010/06/05(土) 19:44:44ID:???認識の違いって怖いですよね。
否定派がSmartyを使うことのデメリットを提示する
↓
Smarty厨が必死に抵抗(しかも意味不明)
↓
否定派が冷静にツッコミを入れる。
↓
Smarty厨ファビョル
0360nobodyさん
2010/06/05(土) 20:36:03ID:???0362nobodyさん
2010/06/06(日) 02:37:31ID:???> 君は「FWに依存しない共通のテンプレート」を実現したい場合、どうするのが良いと思う?
フレームワークの仕様にあわせて導入するのが良いと思うけど。
> 何らかのライブラリは必要だと思うよ。
> でも、そんなの作るの面倒だからSmartyを使うけどね。
別にそれでもいいと思うけど。
それがどうして>>350みたいなアダプタになるの?
> ここがSmartyスレだって事忘れてない?w
> Smarty自体がアダプタの役割も担うから。
> アダプタパターンって知ってる?
> Smarty本体がアダプタとして動いてくれるから、
> フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、ビュー側のスクリプトには何ら影響は無い。
と言っていた過去の発言とも矛盾してるでしょ。
「Smartyにはアダプタとしての機能があるからフレームワークで提供されたテンプレートより良いんだ」
というのが君の主張だったんだから、しっかり責任を持って発言してくれないと。
0363nobodyさん
2010/06/06(日) 20:23:12ID:???>フレームワークの仕様にあわせて導入するのが良いと思うけど。
質問の答えになって無いよ。
ムキになって反論してるだけじゃないなら、簡潔でいいから具体案を出してくれよ?
例えばcakeとsymfonyで同じtemplateを使用するという要件を満たす場合どうするの?
>それがどうして>>350みたいなアダプタになるの?
>「Smartyにはアダプタとしての機能があるからフレームワークで提供されたテンプレートより良い」
「FWに依存しない共通のテンプレート」という要件を踏まえた上で、
>>350では共通テンプレートとフレームワークを繋ぐ為のアダプタと主張してるわけだが、それは理解出来るかい?
フレームワークで提供されたテンプレートにもメリットは有ると書いてるけど、日本語は理解出来るかい?
0364nobodyさん
2010/06/06(日) 20:36:34ID:???>> ここがSmartyスレだって事忘れてない?w
>> Smarty自体がアダプタの役割も担うから。
>> アダプタパターンって知ってる?
>> Smarty本体がアダプタとして動いてくれるから、
>> フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、ビュー側のスクリプトには何ら影響は無い。
> と言っていた過去の発言とも矛盾してるでしょ。
何がどう矛盾してるの?
Smarty自体がアダプタとして動作するし、フレームワーク自体を変えようがビュー側のスクリプトには何ら影響は無いよ。
そういうメリットを得たいならフレームワークで提供されたテンプレートより良いと思うし、
そういうメリットを見いだせないなら別にSmartyはいらんよって話なんだが。
メリットを受ける為の前提となる要件を無視して、矛盾云々言われてもなぁ。
君の頭が固いだけだよ。それもフレームワーク依存脳かい?
0366nobodyさん
2010/06/06(日) 22:13:20ID:???やっぱり結構表示速度遅くなっちゃうかな?
0367nobodyさん
2010/06/07(月) 00:02:00ID:???また訳の分からないことを言い始めたよこのアホは。
デザパタのアダプタパターンのことを言ってるかと思ったら
Smarty自体がアダプタとか・・・
0368nobodyさん
2010/06/07(月) 00:13:50ID:???相手しなければいいのに
わざわざやって来て書き込むのをやめられないというのは
なんか精神的な病か?
0369nobodyさん
2010/06/07(月) 00:43:00ID:???Smartyと組み合わせるってのは考えた事も無いわ
フレームワーク側が持ってるキャッシュ機構とか使いにくくなるかもしれないし
ヘルパーも用意されてるし
誰かやった事ある?
0370nobodyさん
2010/06/07(月) 01:20:48ID:???フレームワークの基本処理に比べたら超が付くほど軽いよ。
ここ数年のサーバ+PHP5環境でSmartyに置き換えただけで、体感出来るような事はまず無い。
>>367
アダプタパターンでいう所のアダプタって意味だろ。
あとデザパタって略し方はアホっぽいからやめた方がいいよw
>>368
自分より格下だと思い込んだ相手には延々語る知ったかPGっているよね。
一種のメサイアコンプレックスだよ。
0371nobodyさん
2010/06/07(月) 01:41:39ID:???ZendFramework 1.9.x + PHP5.2 + xdebugで稼働中のシステムのステップ別ベンチを取ってみたよ
●DB接続(SELECT3回発行)、セッション管理を行った場合
Smartyのコストは全体処理の15%程
●加えて細かいモデル処理等の複雑な処理を行った場合
Smartyのコストは全体処理の8%程
Smartyのコストの内約70%がファイルI/Oに起因するもの(config_load()等のファイルアクセス系)で、
render()やoutput_filterによるCPUコストはSmarty内で見ても10%に至らず、
複雑なテンプレートを処理しても数値上はほぼ横ばい。
●Zend_Viewに置き換えて空のテンプレートを処理した場合、
コストは全体処理の5%程
こちらも同じくrequire_onceが重く、ヘルパを増やせば増やすほど重くなるとおもわれる。
●結論
一切チューニングをしていないVMWare上の環境なので実際の細かい数値は変わるだろうけど、
フレームワークのViewをSmartyに置き換えたところで体感速度は変わらないと思う
0372nobodyさん
2010/06/07(月) 03:34:11ID:???> 簡潔でいいから具体案を出してくれよ?
> 例えばcakeとsymfonyで同じtemplateを使用するという要件を満たす場合どうするの?
Smarty View Class と sfSmartyViewPlugin を使う。
フレームワークにあわせた個別の方法で、
Smarty本体以外のライブラリを導入して、Smartyを利用可能にするわけだ。
・これはアダプタパターンではない
・Smartyだけではフレームワークに組み込んで使う事ができない
という点で、お前の主張は間違っているから、
間違った主張から導き出そうとしている答えも間違っている。
> Smarty自体がアダプタとして動作する
きちんと説明したのだから、きちんとした反論をして貰うよ。
「cakeとsymfonyでSmarty自体をアダプタとして動作させる」方法を説明してくれ。
0373nobodyさん
2010/06/07(月) 03:48:28ID:???なんかベンチという割に説明や数値が曖昧だな。
経験則で言っていいなら、まともなアプリで最も重いのはORMだ。
次がDBとテンプレートで、その次が設定ファイル。
DBにセッションを入れてるとか、RDBで無茶なORMの使い方をしているとか、
アプリのつくりがまともじゃないケースでは、Viewの差は取るに足らないだろうね。
十分に適切なアプリなら、応答時間に占めるテンプレート処理の割合はもっと高いはず。
少なくとも1/3から半分くらいだ。
なので、「速さを求める時にはテンプレートエンジンは避けたほうが良い」というのは、
生PHPとSmartyの比較と同程度に考えておいたほうが安全だと思うけど、
「速さをさほど求めない場合に気になるほどの遅さでもない」と思う。
50ミリ秒が100ミリ秒になっても別に困らないというケースも往々にしてあるわけで。
0374nobodyさん
2010/06/07(月) 04:04:55ID:???>Smarty View Class と sfSmartyViewPlugin を使う。
>フレームワークにあわせた個別の方法で、
>Smarty本体以外のライブラリを導入して、Smartyを利用可能にするわけだ。
お前はその「Smarty本体以外のライブラリ」の実装を読んだか?
インスタンス又は継承によるアダプタパターンだろ。
クラス名が異なっているが >>350 で書いてあるのと全く同じアプローチだよ。
継承によるアダプタパターン。
>・これはアダプタパターンではない
>・Smartyだけではフレームワークに組み込んで使う事ができない
という結論が間違ってるので論外です。
君はデザインパターンを応用する事が出来ない様ですね。
>「cakeとsymfonyでSmarty自体をアダプタとして動作させる」方法を説明してくれ。
>>350に書いてあるが?Smatyを継承したアダプタクラスを挟むだけですよ?
CakePHP > CakeSmartyAdapter > template
symfony > sfSmartyAdapter > template
0375nobodyさん
2010/06/07(月) 04:13:16ID:???経験則で言っていいのなら、
管理画面はまだしも表向き表示で重さを気にするシステムにORMは極力使わない。
良くてコントローラ&モデル処理が8割、ビューは2割ってとこだろ。
反論あるならお前さんも、ステップ単位で処理時間をベンチとってくれや。
そしたら俺のベンチも詳細上げてやるよ。
ケースバイケースな結果になると思うが、
俺は実際動かしてSmartyとZend_Viewは大差無いという結論を出したのみ。
比較対象が生PHPなら遅いかもしれんが、FWに組み込むという意味では体感はかわらん。
0376nobodyさん
2010/06/07(月) 04:14:46ID:???オープンソースライブラリの具体名を挙げてるんだから、
実際にソースを読んでみればいいのに。
それと、
「Smarty自体をアダプタとして動作させる」と
「Smatyを継承したアダプタクラスを挟む」って、意味がまったく違うだろ。
具体的にアダプタクラスとは何か、きちんと説明してみ。
自分の矛盾に気づくから。
0377nobodyさん
2010/06/07(月) 04:27:34ID:???>・これはアダプタパターンではない
sfSmartyViewPluginは委譲による実装のアダプタパターンだな。
http://d.hatena.ne.jp/shimooka/20080714/1216021170
Smarty View Class も委譲による実装のアダプタパターンだな。
http://cakeforge.org/snippet/detail.php?type=snippet&id=6
以下は全く同じだな、委譲か継承したアダプタパターンだ。
CakePHP > CakeSmartyAdapter > template
symfony > sfSmartyAdapter > template
ZendFW > ZendSmartyAdapter > template
やっぱりお前デザインパターンすらわかってないよ。
基礎中の基礎アダプタパターンw から再勉強してくればいいよ。
>・Smartyだけではフレームワークに組み込んで使う事ができない
ちなみにFramework間の差異を吸収しないのであれば、Smartyをそのまま適用できるよ。
CakePHP > Smarty > template
symfony > Smarty > template
ZendFW > Smarty > template
使えないのは君の知識量だな。
cakeとか言ってる時点で駄目なにおいはぷんぷんするが。
0378nobodyさん
2010/06/07(月) 04:40:44ID:???お前さ「Smartyをアダプタにすればテンプレート共通化出来るよね」って言われて
「Smarty自体をアダプタとして動作させるのと、Smatyを継承したアダプタクラスを挟むって意味が全く違うだろ」
とか見当違いのツッコミするん?w
Smartyをアダプタとして使うって時点で普通、継承なり委譲なりのラッパークラスを想像すると思うが
・・・>>350の例を見ても理解出来ないレベルなんか?・・・あまりに知識が無いのか、発想が貧弱なのか
・・・なんとなく君のレベルが見えて来たよw
誰も救われないから、大人しくcakeスレでシコシコbakeして設定ファイル量産してろよw
0379nobodyさん
2010/06/07(月) 06:25:22ID:???Smartyは内部でrequireしまくってるからけっこう重たかったな。
拡張モジュールで作られてるsimplateってやつはめっちゃ速かった。当然そこまで高機能ではないけどね。
0380nobodyさん
2010/06/07(月) 18:29:58ID:???実行環境(CPU/ネットワーク)自体の高速化と、フレームワークの肥大化によって、Smarty自体は相対的に軽いものになってしまった。
メリットデメリットはケースバイケースなのでひとくくりには出来ないし、
現場の知識や、制作者の好みで導入すればいいよ。
FWとSmartyどっちが良いか?両方メリットはあるよ。
FWとSmartyどっちが悪いか?両方デメリットはあるよ。
終結
0381nobodyさん
2010/06/07(月) 18:50:46ID:???0382nobodyさん
2010/06/07(月) 18:59:54ID:???0383nobodyさん
2010/06/07(月) 19:54:08ID:???それは後だしジャンケンだな。
その屁理屈が成り立つなら、
「symfonyのテンプレートエンジンはアダプタである」とも言えるわけで、
「symfonyのテンプレートエンジンをcakeで使う」事も、
「symfonyのテンプレートエンジン自身がアダプタとして動作する」から、
まったく問題ないことになるじゃん。
Smartyとフレームワーク内蔵のテンプレートエンジンを比較して、
Smartyが有利であると主張していたはずなのに、
その根拠が、自分の屁理屈によって無くなってしまっているんだよ。
だから、間違った主張から導き出された答えが間違ってるよ、と指摘したんだけどな。
議論に勝ちたいからか知らんけど、自分の主張をころころ変えるから、
まわりから見てまったく意味不明になるんだと思うよ。
あと、cakeじゃなくてCakePHPだろ、といいたいのかも知れないけど、
最初にcakeという表現をしたのは>>363だろ・・・。
俺は別に意味が伝わってるからどっちでもいいけど、墓穴掘るのはだいぶ恥ずかしいぞ。
0384nobodyさん
2010/06/07(月) 20:03:12ID:???0385nobodyさん
2010/06/07(月) 20:21:44ID:???「Smarty否定論者がSmartyを叩く書き込みをする」のと、
「Smarty信者が特に優位性の無い部分でSmartyを絶賛する」のは、
同じくらいスレにとって害悪だよ。
極端に言えば、Smartyに利点がひとつも無くたっていいじゃん。
間違った理屈で絶賛しても否定されるだけなのは当然だよね。
それなのに、なんでわざわざ、絶賛して否定される流れを作り出してるの?
それが単に絶賛してる人の知識不足に過ぎなくて、
「それは間違っているよ」と指摘されたら受け止めるというならわかるけど、
意固地になっておかしな主張を続けるもんだからまったく意義が無い。
劣っていようがなんだろうが、Smartyは現存していて、
実際に使っているユーザがいるんだから、その情報交換をすればいいのに。
現に、少なくとも客観的な表現で、
「Smartyと別のもののどっちがいいだろう?」
と質問している場合は、スレは荒れてないじゃん。心がけの問題だと思う。
0386nobodyさん
2010/06/07(月) 20:22:40ID:???ガキのケンカは他所でやれ。
0387nobodyさん
2010/06/07(月) 20:57:11ID:???主題を変えてるのはお前だよ(都合の悪い具体的な質問はスルーだし)
君こそ論破が目的になってないかい?
>「symfonyのテンプレートエンジンはアダプタである」とも言えるわけで、
>「symfonyのテンプレートエンジンをcakeで使う」事も、
>「symfonyのテンプレートエンジン自身がアダプタとして動作する」から、
「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。
symfonyとテンプレート構文を繋ぐ為のアダプタである、という意味であれば間違いではないが、
異なるフレームワークとテンプレート構文を介するアダプタである、という意味では無理がある。
議論の発端は、
フレームワークに密結合されたテンプレートエンジンを、
他のフレームワークで使うのは困難だから疎結合のSmartyをって話だろ。
何で密結合のもので例えてるの?
symfonyじゃなくてTwigとかsimplateに置き換えれば問題無いよ。
>Smartyとフレームワーク内蔵のテンプレートエンジンを比較して、
>Smartyが有利であると主張していたはずなのに
何度も書いてるが「共通のテンプレート」という要件の下に、
Smartyのメリットを主張してるだけで、全てにおいてSmartyが勝ってる等誰も言ってないよ。
>あと、cakeじゃなくてCakePHPだろ、といいたいのかも知れないけど、
違うよw 必死にSmartyを過去のモノにしたり、無駄知識と認定したいらしいが、
cakeも所詮はPHP4実装のレガシーフレームワークな上に、
Smarty以上に無駄知識が必要な設定ファイルが必要だよね。必死にbakeってれば?って事
いいからマズイケーキでも焼いてろよ。
0388nobodyさん
2010/06/07(月) 21:25:03ID:???>>383 有益な情報を得たいならまだしも、Smartyに興味も無く批判したいだけなら、他のスレに行けばいい。ここはSmartyスレ。
0389nobodyさん
2010/06/07(月) 21:53:18ID:???>>314 Smartyを使うメリットってありますか?
>>315 フレームワークが生PHPなので、生PHPが主流だよ
>>317 フレームワークに依存しないSmartyが有利な面もあるよ
>>318 >>317を否定
>>320 疎結合のメリットもあるよ
>>324 疎結合より、フレームワークなら密結合の方が良いよ
>>327 密結合にもデメリットはあるよ
>>329 フレームワークの方が優れているよ。Smartyなんて誰もが知ってるわけでは無いし、使わない方がいいよ。
以下ループ(不毛なので読み返してない)
>>329 がフレームワーク至上主義かつSmarty批判が目的だったのが発端だな。
Smartyを使うメリットは?って話だったのに、1人だけ議論がフレームワークの優位性の話になっている。
03904=353=385
2010/06/07(月) 22:18:39ID:???>>387
> 「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。
その根拠は?
疎結合なsfTemplateEngineなら成り立つって解釈ではないのか?
>>387-388
「Smartyマンセー発言にレスした奴はみんな工作員だ!」
みたいな物言いをして、やれレベルがどうだcakeの悪口だと下らん批判に終始して、
自分たちとSmartyは絶対に正義なんだ、みたいな主張をしていること自体が、
カルト宗教ばりの気持ち悪さを醸し出していて、
かえってよくない結果を生んでいる事に気づいたほうがいいと思うよ。
>>329
その説明も事実とは誤っていると思う。お前の自意識と解釈はわかったけど。
0391nobodyさん
2010/06/07(月) 22:22:15ID:???0392nobodyさん
2010/06/07(月) 22:47:33ID:???フレームワークに搭載されているテンプレートエンジンには、
密結合なものだけではなく、疎結合なものもある。
すべて密結合だと断定するのは間違い。
Smartyをフレームワークで使うには、連携のための処理を追加する必要がある。
これらの処理はフレームワークに依存する。
Smarty自体が自動的に連携をおこなうわけではないし、
Smarty公式がフレームワーク毎の連携ライブラリを提供しているわけでもない。
なので、フレームワークのバージョンアップによって、
上記の追加処理に変更が必要になる場合も当然に存在する。
ゆえに、
「テンプレートとしての構文の差を無くす為にSmartyが優れている」
という根拠は存在しない。
昔Smartyを使っていた人が惰性でSmartyを使い続ける事に対しては俺は異論は無い。
特に昔有名になった定番アプリみたいなやつにはSmartyが使い続けられているよね。
これをわざわざ新しいものにリプレースする必要は、個人的には感じていない。
だけど、トンデモ信者がやってきて、フレームワークでSmartyを使えとのたまうのは嫌だ。
フレームワークとSmartyは、親和性がすこぶる悪いからね。
やったことも無い人が「Smarty自体がアダプタになります(キリッ」とか言うのを見たら、
さすがに突っ込みも入れたくなるというものだわ・・・。
0393nobodyさん
2010/06/07(月) 23:57:04ID:???> 「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。
>その根拠は?疎結合なsfTemplateEngineなら成り立つって解釈ではないのか?
symfony を sfTemplateEngine に書き換えればえれば成り立つんじゃない?
>> 324からずっとフレームワークと密結合に拘ってるし、
Twig もあるし symfony=sfTemplateEngine という意味での発言とは思えないが。
0394nobodyさん
2010/06/08(火) 00:08:06ID:???(第一部完)
0395nobodyさん
2010/06/08(火) 01:29:56ID:???>フレームワークのバージョンアップによって、
>上記の追加処理に変更が必要になる場合も当然に存在する。
>ゆえに、「テンプレートとしての構文の差を無くす為にSmartyが優れている」
>という根拠は存在しない。
テンプレートエンジンとフレームワークの連携に調整が入る事もあるかもしれないが、
テンプレート構文自体に変更が入るような場面ってどんな時?
テンプレートエンジンが故意にフレームワーク依存を注入しない限り、
テンプレートがフレームワークの影響を受けることはあり得ないと思うが。
>昔Smartyを使っていた人が惰性でSmartyを使い続ける事に対しては俺は異論は無い。
惰性というより、既存リソースを捨て、学習コストをかけてまでリプレースする対象か?
と問われれば絶対にYESでは無いと思うよ。
フレームワークの機能をMVC別に区切った場合、ModelとControllerの機能だけでも十二分に便利だ。
当然Viewも包括して導入すれば、より恩恵は増すと思う。
でも >>352 にも書いた通りフレームワークと一緒に毎回Viewまで覚えるのは手間がかかる。
自分1人ならまだしも、自分以外がテンプレートを担当しているような現場では、
新しいテンプレートを周知させるのはコスト的に厳しい面もあると思う。
0396nobodyさん
2010/06/08(火) 01:59:56ID:???0397nobodyさん
2010/06/08(火) 04:16:11ID:???>自分たちとSmartyは絶対に正義なんだ、みたいな主張をしている
・・・被害妄想怖いなぁw
自分たちとフレームワークは絶対に正義なんだ、みたいな主張をしだした >>329がブーメラン浴びた結果じゃないの?
あぁ、自演か。
>>392
>ゆえに、「テンプレートとしての構文の差を無くす為にSmartyが優れている」
>という根拠は存在しない。
わー、凄いね。
君にとって以下3パターンを各フレームワーク上で動かす事と、
Smartyなり外部テンプレートエンジンで書かれた構文を各フレームワーク上で動かす事の手間は同じなんだね。
Zend <?php echo $this->escape($val); ?>
Cake <?php echo h($val); ?>
Symfony <?php echo $sf_data->get('hoge'); ?>
あとさ、Smartyに限らず、
「フレームワーク+外部テンプレートエンジン」ってソリューションは多々あるけど、
外部テンプレートエンジンを使いつつ、フレームワークに依存しちゃう構文ってどんなの?
遭遇した事ないんだけど、どんなロジック混ぜちゃってるの?
それともSmartyって言葉が嫌だったかな・・・?
「テンプレート構文を吸収する為にTwigやsfTemplateEngineが優れている」とか言えば満足かな?
0398nobodyさん
2010/06/08(火) 10:00:40ID:???こんなことしてるやついるのか?
どのレスのこと指してるんだ?ベンチマークとかの部分か?
0399nobodyさん
2010/06/08(火) 11:53:03ID:???俺はSmartyを「使う」からこのスレに情報を求めにきてるんだ
「使うべきか、否か」という話は別のスレでやってくれ。
ここは「使う」としたらどう便利に使うかというスレなんだ。
0400nobodyさん
2010/06/08(火) 11:54:31ID:???そのうえで荒らすために、反論を装うレスを荒らしがつけるだろうが、中身を理解してないからすぐわかるんだし
0401nobodyさん
2010/06/08(火) 12:55:01ID:???0402nobodyさん
2010/06/08(火) 21:59:39ID:???0403nobodyさん
2010/06/08(火) 22:27:46ID:???残念ながらSmarty自体がアダプタになるってのは間違いでは無いよw
0404nobodyさん
2010/06/08(火) 22:38:44ID:???0405nobodyさん
2010/06/09(水) 00:59:47ID:???優劣を付ける目的でもありませんのであしからず。
●Smartyをアダプタとして考える
Client(テンプレート)はInterface(Smarty構文)に合わせておけば、
Adapter(Smarty)が適切に処理してくれる。
(Client) {$hoge|escape}(テンプレート)
(Target) SmartyInterface(Smarty構文)
(Adapter) Smarty
(Adaptee) htmlspecialchars()
上の場合、escapeの実装が変更になったり、htmlspecialcharsが廃止されたとしても、
Adapterの委譲先を変えれば良く、Clientは何も意識する必要は無い。
Adapteeがフレームワークだろうが、PHP以外の言語だろうが、Clientからすれば関係無く
Interfaceに従っておけばAdapterが対応してくれる。
フレームワーク独自のテンプレートエンジンも、上記パターンにあてはめる事が出来るが、
InterfaceがAdapteeを前提とした設計である事が多く、
Interfaceを維持したままAdapteeを変える事は現実的では無い。
当然、その設計による恩恵も多々ある。
しかし、デザインとロジックがきっちり分別されている場合、、
Interfaceに「変数処理、条件分岐、ループ、インクルード、フォーム系ヘルパ」程度があれば、
大抵のClientは実装出来てしまう場面も多々あると思う。
そんな場合はフレームワークから独立したテンプレートエンジンを採用する事で、
学習コストを減らし共通の構文が使える等のメリットを受けられる場合もある。
0406nobodyさん
2010/06/09(水) 01:00:19ID:???0408nobodyさん
2010/06/09(水) 22:31:25ID:???でも識者はこう言うのだ。
「Smartyはそれ自体がアダプタです(キリッ 」
0409nobodyさん
2010/06/09(水) 22:39:26ID:???意見ひとつまともに出来ないなら他へ行け池沼。
0410nobodyさん
2010/06/09(水) 22:57:25ID:???普通に考えてそれは無い・・・どんな図になるんだ?w
0411nobodyさん
2010/06/10(木) 01:50:37ID:???AdapterクラスがAdapteeであるSmartyを継承もしくは
Smartyに処理を委譲すると考えるのが普通。
能無し低級PGは何も考えずにガリガリ君のように実装してればいいんだよ。
0412nobodyさん
2010/06/10(木) 02:21:15ID:???テンプレートをClientとした場合、Smartyが構文差を埋めるAdapterになるよね。
って話なのに、普通はAdapterとして使わないとか言われても・・・
仮にClient=フレームワーク、Adaptee=Smartyとしても>>405のパターンは適用される。
もう少し理解力と応用力を身につけような?
君の基準では普通なのかもしれないが、普通の考え方しか出来ない様では一生低級PGのままだよ。
0413nobodyさん
2010/06/10(木) 03:10:06ID:???B君「Client=3、Adapter=4とした場合、Client + Adapter = 7 だな」
>>411君「普通Adapterは0だよね?能無し低級PG共めw」
A君・B君( ・・・なにこいつ(´Д`; )
0414nobodyさん
2010/06/10(木) 09:42:42ID:???自演するにしても文章の癖くらい消せよ・・
0415nobodyさん
2010/06/10(木) 09:59:28ID:???フレームワークやデザパタの話なんて興味ないんだよ。
0416nobodyさん
2010/06/10(木) 10:54:07ID:???自分の意見を通さないと気が済まないんだろうけど、そういうのは他でやってくれよな
ここはSmartyスレだからさ
NG登録できないだろ
0418nobodyさん
2010/06/11(金) 13:38:47ID:???0419nobodyさん
2010/06/12(土) 01:24:52ID:???0422nobodyさん
2010/06/12(土) 09:25:57ID:???PHPにおいてテンプレートエンジンの優位性はほとんどない。
速度を犠牲にしてまで使う代物ではないと断言できる。
0423nobodyさん
2010/06/12(土) 12:25:49ID:???0424nobodyさん
2010/06/12(土) 17:58:52ID:???未だに速度が云々言ってる奴は、ベンチマークすら取ったことの無い情弱。
0425nobodyさん
2010/06/12(土) 21:10:05ID:???ゆとりかよw
0426nobodyさん
2010/06/12(土) 21:16:51ID:???Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
0428nobodyさん
2010/06/12(土) 22:41:37ID:???理解してるよ。
「Smartyはそれ自体がアダプタです(キリッ」ってことだろ?
デザインパターンなんて理解出来ない低級PGなんだなーと思った。
0429nobodyさん
2010/06/12(土) 22:47:45ID:???>>405は自分がポンコツ低級PGであることを理解し、
泣きながら一生このスレで謝り続けるべき。
0430nobodyさん
2010/06/12(土) 23:56:53ID:???正しくは「Smartyはそれ自体がアダプタにもなりえる」だ。
あと、検索するなら「Smarty Adapter」「Smarty Adaptor」が適切だよ
そもそも議題の趣旨を調べたいなら「Smarty フレームワーク」とかでね
調べ方すら知らない低級PGは2chスレ見てる場合ではないです(^o^
0431nobodyさん
2010/06/13(日) 00:36:06ID:???フレームワークの意味分かってないだろ?
Smartyはライブラリであって呼び出される側。
OKかな?低級PG!
0432nobodyさん
2010/06/13(日) 00:36:56ID:???「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
0433nobodyさん
2010/06/13(日) 00:37:50ID:???Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
0434nobodyさん
2010/06/13(日) 00:38:47ID:???0435nobodyさん
2010/06/13(日) 00:52:30ID:???Smartyがアダプタ?フレームワーク?
死ねよ雑魚。
0436nobodyさん
2010/06/13(日) 01:00:37ID:???>出ました、Smarty=フレームワーク発言。
そのイコールはどこから出てきたんだい。まずは日本語から勉強しような?
Smartyをフレームワークで使うメリットっとは?て話からアダプタって話に派生してるんだ、
関連記事調べるなら「Smarty フレームワーク」で検索しろってことだ・・・アホに合わせてレスするのは大変だね。
0437nobodyさん
2010/06/13(日) 01:08:13ID:???お前上の方でデザイナにテンプレートはさわらせないとか騒いでた奴だろw
統合失調症か?一度精神科医に行った方がいいよ。
0438nobodyさん
2010/06/13(日) 01:38:38ID:???「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
0439nobodyさん
2010/06/13(日) 01:40:24ID:???ただのテンプレートエンジンだと思ってた。
凄いなぁSmarty馬鹿ってwww
0440nobodyさん
2010/06/13(日) 01:41:48ID:???そして何よりアダプター
これ、Smarty界隈の常識ですよ?
0441nobodyさん
2010/06/13(日) 01:42:51ID:???0442nobodyさん
2010/06/13(日) 01:56:29ID:???そうでないと>>429で「Smarty アダプタ」を検索した意図がわからんのだが、
検索エンジンすらまともに使えない池沼って事でOK?
0443nobodyさん
2010/06/13(日) 05:44:59ID:???0444nobodyさん
2010/06/13(日) 10:59:40ID:???>>432-433みたいになっちゃったらもう病院行ってもらうしか…
0445nobodyさん
2010/06/13(日) 15:48:27ID:???これって素晴らしくね?
0446nobodyさん
2010/06/13(日) 18:55:00ID:???0448nobodyさん
2010/06/13(日) 21:10:04ID:???0449nobodyさん
2010/06/13(日) 21:55:44ID:???【フレームワークであり】Smartyスレ第3章【アダプターにもなる】
で決まりだな。
0450nobodyさん
2010/06/14(月) 01:43:33ID:???http://yuukiremix.s33.xrea.com/chirashi/
0451nobodyさん
2010/06/14(月) 03:45:18ID:???0452nobodyさん
2010/06/14(月) 03:54:45ID:???0453nobodyさん
2010/06/14(月) 03:55:34ID:???0454nobodyさん
2010/06/14(月) 13:09:14ID:???連投制限ちょうどの40秒間隔で罵りあいとか、もう見てて憐れで
0455nobodyさん
2010/06/14(月) 17:03:38ID:???まじで病院行った方がいいよ。池沼。
0456nobodyさん
2010/06/15(火) 13:07:55ID:???だって都合の悪いレスに真っ向からぶつかっても、得るものないんだもの
■ このスレッドは過去ログ倉庫に格納されています