5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :nobodyさん:2010/03/29(月) 14:41:04 ID:???
Smarty は PHP のためのテンプレートエンジンです。
具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。

2 :nobodyさん:2010/03/29(月) 15:09:40 ID:???
公式サイト: http://www.smarty.net/
公式マニュアル: http://www.smarty.net/manual/ja/
ダウンロード: http://www.smarty.net/download.php


3 :nobodyさん:2010/03/29(月) 15:19:43 ID:???
前スレ

↓は第1章
【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/

4 :nobodyさん:2010/03/29(月) 16:52:47 ID:???
このスレはSmarty信者の隔離スレです。

Smarty以外のテンプレートエンジンの批判や、Smartyを批判する発言のコピペや、
Smartyを使っていないユーザに対する批判は、荒れる元になるので禁止です。
他スレから荒らしを招くことが無いように、他スレでのSmartyの話題も極力控えましょう。

もはやSmartyを使ってない識者の方は生暖かく見守ってください。
枯れた技術を仕方なく使うしかないユーザー同士、ひっそりと会話をしましょう。

5 :nobodyさん:2010/03/30(火) 09:45:49 ID:???
なんで前スレ落ちた?

6 :nobodyさん:2010/03/30(火) 15:15:09 ID:???
>>5
どっかの馬鹿が変な晒しをやって、それが元で炎上して1000まで埋まった。
なぜかスレタイから「隔離スレ」が消えたけど、>>4にある通りひっそりやったほうがいいと思う。

7 :nobodyさん:2010/03/30(火) 16:18:45 ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/445

445 名前:nobodyさん[sage] 投稿日:2010/03/29(月) 15:10:31 ID:???
smartyのアンチと信者ども前スレの続きするぞ
ttp://pc11.2ch.net/test/read.cgi/php/1269841264/

8 :nobodyさん:2010/04/07(水) 23:41:16 ID:???
●以下の話題は過去スレで散々議論されています。不毛なので禁止な。

・PHP自体がテンプレートエンジンなんだからSmartyいらなくね?
 → ケースバイケースです。
   不要だと思うならこのスレを見ても有益な情報は得られないでしょう。


9 :nobodyさん:2010/04/08(木) 23:58:35 ID:???
>>1
>Smarty は PHP のためのテンプレートエンジンです。
PHP自体がテンプレートなので不必要ですね。

>具体的に言うと、php のプレゼンテーションからアプリケーションの
>ロジックとコンテンツを分離して管理する事を容易にします。
素のPHPでも十分容易にロジックとコンテンツを分離できるので不必要ですね。

>これは、プログラマーとテンプレートデザイナーの役割が異なり、
>これらの役割を違う人間が受け持っている場合に最適だと言えます。
デザイナーにSmartyというヘンテコで汎用性の無い言語を
わざわざ覚えさせるのですか?可哀想だからそんなことは止めましょう。
あと、テンプレートを書くのはプログラマの仕事です。
デザイナーはテンプレートの元となるHTMLを書くだけです。
プログラマはPHPを理解しているのでSmartyなんて入りませんね。

10 :nobodyさん:2010/04/09(金) 05:43:47 ID:???
>>9
そんなに真っ赤な顔をして、学校で何か辛い事でもあったのかい?

え、新しいクラスで友達が出来ないのは何故かって?

ふふふ…聡明な君ならもう答えは解っているんだろう?

そう!
Smartyを使っていないからだよ!

勉強も部活も、恋だってAnything OK!!
なりたい自分になれる、それがSmartyだよ。

え?高いんじゃないかって?ふふふ…心配無用さ!
驚くことにSmartyはその全てが無料なんだ。

つまり…そう!!
お小遣いは全て君の大好きなHENTAI GAMEに注力できるんだ。

どうだい、とてもCoolだろ?

さぁ今すぐ http://www.smarty.net/ にAccessしてSuccessしようぜ!

サンキューベイベー!

11 :nobodyさん:2010/04/09(金) 13:20:37 ID:???
なにこの寒い自演

12 :nobodyさん:2010/04/09(金) 23:13:48 ID:???
Smartyは必要のない無駄ライブラリ。
Ver3では字句解析・構文解析までしちゃって無駄の上乗せw

13 :nobodyさん:2010/04/10(土) 02:36:00 ID:???
自分の理解出来ない事はすべて無駄な事ですよね。わかりますわかります。

14 :nobodyさん:2010/04/10(土) 11:01:47 ID:???
速度が低下しちゃってるのはどうしようもないな

15 :nobodyさん:2010/04/10(土) 17:45:58 ID:???
字句解析・構文解析してるってことはもう新たな言語を作ったようなもんだ。
テンプレートエンジンとしては非常に大掛かり過ぎるし、
なによりPHP自体がテンプレート機能があるという。
終わってますな。誰も使わないだろう。

16 :nobodyさん:2010/04/10(土) 18:10:59 ID:???
俺が使うよ

17 :nobodyさん:2010/04/10(土) 20:06:16 ID:???
俺も使うよ

>>15 お前は何を言っているんだ?
え?構文解析を行わないテンプレートエンジンってあるの?
PHP自体のテンプレート機能に不足があるからSmartyを開発したって経緯は知ってる?
なんでSmartyがこんなに普及しちゃったか知ってる?

18 :nobodyさん:2010/04/10(土) 20:37:27 ID:???
PHP自体をテンプレートにすると、ビューすらPHP環境に依存してしまうからなぁ。
ショートタグが禁止になっただけで動かなくなっちゃうコードの多い事多い事…。

19 :nobodyさん:2010/04/10(土) 21:28:59 ID:???
>>17
Smarty信者が必死だなw
Smarty2系は構文解析してーねーよ。正規表現で書き換えてるだけ。
オフィシャルにも書いてあるだろ。
PHPで一時期Smartyが流行ったのは知ってるがもう誰も使ってないよ。
CakePHPもsymfonyもSmartyどころかテンプレートエンジン使ってないから。
お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか
知ってるのか?

20 :nobodyさん:2010/04/10(土) 22:10:15 ID:???
教えて教えて!

21 :nobodyさん:2010/04/10(土) 23:48:55 ID:???
>>19
僕は君がこのスレにいる理由を知りたいな!

22 :nobodyさん:2010/04/11(日) 00:09:07 ID:???
俺の使っているSmarty2では構文解析(パース)に正規表現を使っているけどなぁ
公式の序文にもそう書いてあるんだよなぁ…パースが重いからコンパイル済ファイルをキャッシュするって…うーん。

>>お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか知ってるのか?
教えて教えて!
あとTwigとかいうテンプレートエンジンの開発元と、開発の経緯も知ってたら教えて!

23 :nobodyさん:2010/04/11(日) 01:07:03 ID:???
ググレカスw

24 :nobodyさん:2010/04/11(日) 04:08:04 ID:???
未だにSmartyとか使ってる奴いるんだなw
デザイナーにも優しいとか言ってw
デザイナーにテンプレート書かせるなよwww

25 :nobodyさん:2010/04/11(日) 11:01:07 ID:???
俺は組んだデザイナーによってはsmarty使うことがある。
無くてもいけるが、あったらあったで全体の作業は楽になる。
キャッシュの操作は優秀。
それにsmarty否定派に>>24みたいのがいるなら、逆にこれからも使うかという気持ちになる。

26 :nobodyさん:2010/04/11(日) 11:58:50 ID:???
デザイナーがHTMLを作成する
プログラマがSmartyテンプレートにする
デザインに修正が入ったらデザイナが修正する

が一般的だと思うよ
誰でも出来るデザイン修正にPGの手を割く事に疑問を持たない時点でPGとして終わってる
かといってシステムに影響が出るコードをデザイナに触らせるのはセキュリティ意識低すぎると思う

素のPHPをテンプレートとして使う場合、継承とかキャッシュとかどうしてんだろうね…
否定派の言うことも一理あるが、Smartyのメリットを全く生かそうとしない姿勢が素人臭くて可愛らしい

27 :nobodyさん:2010/04/11(日) 12:05:39 ID:???
>>26
そうなんだが、デザイナーがテンプレ修正するなら
デザイナー自身がSmartyに関する知識をある程度
持っている必要あるよな?

そして、Smartyの知識が分かると言うことは
少なからずPHPも理解する必要があり、そうなればデザイナーか何か分からん


28 :nobodyさん:2010/04/11(日) 12:22:44 ID:???
>>27
Smartyのテンプレートを弄るのにPHPの知識は不要じゃないか?
まともなWEBデザイナなら、テンプレートでループする箇所や、テンプレート変数となる箇所を意識してコーディングするわけで、
デザイナ(コーダー)=全くPGが解らないって考えは古いかと…

少なくとも自分の関わっているデザイナは、Smarty肯定派が多い。
テンプレートが素のPHPだと、毎回細かい仕様や制限を確認するのが面倒だけど、Smartyなら気楽だとさ。



29 :nobodyさん:2010/04/11(日) 12:51:18 ID:???
レンタルブログのテンプレートいじる感覚で使えるんじゃないのかな

30 :nobodyさん:2010/04/11(日) 21:18:22 ID:???
てゆーかね、デザイナーにテンプレートを触らせるということは
コードに手を入れさせるのと同じだよね。
そんな気味の悪いこと良くできますねってことだ。
デザイナーが触らないテンプレートならSmartyなんか使わなくても
生PHPで問題あるの?
継承がどうこう言ってる奴がいるが、Viewに継承て。
そんな複雑なテンプレート作るなよw


31 :nobodyさん:2010/04/11(日) 21:40:41 ID:???
>>てゆーかね、デザイナーにテンプレートを触らせるということは
>>コードに手を入れさせるのと同じだよね。
違うよ。全然違うよ。

>>生PHPで問題あるの?
ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?

>>継承がどうこう言ってる奴がいるが、Viewに継承て。
>>そんな複雑なテンプレート作るなよw
お前が作ってるサイトがしょぼい事だけはわかった。
今時のテンプレートは大抵継承機能を持ってるから、その意味を調べてから出直すといい。

32 :nobodyさん:2010/04/11(日) 22:31:55 ID:???
>>31
>違うよ。全然違うよ。
デザイナーにテンプレート触らせる時点で
お前のやってる仕事の規模が伺えるな。

>ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?
デザイナーにテンプレートは書かせないと言ってる。馬鹿か?

>お前が作ってるサイトがしょぼい事だけはわかった。
>今時のテンプレートは大抵継承機能を持ってるから、その意味を調べてから出直すといい。
テンプレートエンジンなんか今時使ってませんからw
その継承機能とやらを知ってるだけでそのはしゃぎっぷりw
テンプレートエンジンを使ってるという時点で
最新のFWを使ってないんだろうなというのがバレバレですよ?
お前が作ってるサイトがしょぼい事だけはわかったわw

33 :nobodyさん:2010/04/11(日) 23:55:27 ID:???
最新のFW使ってないのバレバレ、キリッ。
かっこよすぎるw
是非その素晴らしい最新のFW構成を教えてもらいたいものだ

うちはCake、ZendFWと双方で使えるカスタムSmartyしか使ってないわ
あー、最新のFWつかいてーw

34 :nobodyさん:2010/04/12(月) 10:39:13 ID:???
>>31
> ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?

Smartyを与えても致命的なコードを書かれる可能性はあるわけですが・・・。

>>33
> Cake、ZendFWと双方で使えるカスタムSmarty

それを使わないでCakeとZFを使うのが最新のやり方だと思うよ・・・。

35 :nobodyさん:2010/04/12(月) 11:34:50 ID:???
>>Smartyを与えても致命的なコードを書かれる可能性はあるわけですが・・・。
具体的にはどんな事を書かれてしまうんだい?
宣言のかかったSmartyテンプレートでDBに穴あけたり、サーバに穴あけたりする方法を教えておくれ。

>>それを使わないでCakeとZFを使うのが最新のやり方だと思うよ・・・。
CakeにしろZFにしろ中間となるViewクラスは作るのが一般的かと…
どこの誰が最新のやり方とやらを提唱して実践してるのか教えてくれ

うちでは一からViewクラスを作って仕様化するより、Smartyを導入する方が制作コスト、学習コストは低いと判断されている。
Smarty≧素のPHP>>>>独自仕様のPHP



36 :nobodyさん:2010/04/12(月) 11:37:01 ID:???
×…宣言のかかった
○…制限のかかった


37 :nobodyさん:2010/04/12(月) 20:04:24 ID:???
>>35
マニュアルを読みましょうね。
http://www.smarty.net/manual/ja/plugins.php
http://www.smarty.net/manual/ja/language.function.php.php
等々

自分の事情を「一般的」と決めつけて、それ以外を理解できない時点で、
技術者としては程度が知れてると思いますよ。
Smarty信者はレベルが低いと言われても仕方がない。

38 :nobodyさん:2010/04/12(月) 21:46:00 ID:???
>>37
プラグインはPGが作成して配備しないと使えないよ
PHPタグ?それこそフィルタでどうとでもなるが?

>>自分の事情を「一般的」と決めつけて、それ以外を理解できない時点で、
そのまま君に返すよw 
君の言う最新のFWのやり方ってやつのソースを出してくれ
君の中で「一般的」なだけかい?
Smartyスレまで来て否定してるんだ、さぞかし素晴らしい実績があるんだろ?

39 :nobodyさん:2010/04/12(月) 21:52:55 ID:???
http://www.smarty.net/manual/ja/variable.security.php

40 :nobodyさん:2010/04/12(月) 21:56:15 ID:???
http://www.smarty.net/manual/ja/variable.security.php
http://www.smarty.net/manual/ja/variable.security.settings.php

セキュリティの設定は当然知ってるよな

ふまえた上で、危険な実証コードも提出してくれると助かるな。
低レベルな俺にはわからん。

41 :nobodyさん:2010/04/12(月) 22:19:14 ID:???
>>38
> プラグインはPGが作成して配備しないと使えないよ

作成して設置すれば使えるってことだよね。

> 君の言う最新のFWのやり方ってやつのソースを出してくれ

自分で調べてくれないかな・・・。

http://cakephp.jp/
http://framework.zend.com/manual/ja/
http://symfony-reloaded.org/

>>40
> 危険な実証コードも提出してくれると助かるな。

>>37を読んでね。

42 :nobodyさん:2010/04/12(月) 23:38:02 ID:???
>>41
>>作成して設置すれば使えるってことだよね。

いやだから、デザイナにはプラグインを設置する権限なんて与えないが?

>>自分で調べてくれないかな・・・。
嫌だよww
君の頭の中にしかないソースじゃ調べようが無いだろw

>> 危険な実証コードも提出してくれると助かるな。
>> >>37を読んでね。

プラグインは設置出来ないし、{php}タグも使えないよ?
他は無いんすかw 

結局、君の思い込みだけでSmarty批判してただけか、残念だ。

43 :nobodyさん:2010/04/13(火) 01:47:03 ID:???
Smarty信者は頭が固くなっちゃってて駄目だな。
自分のやり方に固執してそれ以外を受け入れることができなくなってる。
可哀相に。

44 :nobodyさん:2010/04/13(火) 03:17:43 ID:???
もっと柔らかく考えような?
SmartyにはSmartyのメリットもあるんだ。

何も示さずに「Smartyスレ」で、Smarty否定されてもそりゃ誰も受け入れないだろう。
可哀想な僕らに君のその自信と根拠を示してよ(あるならね)

そもそも所詮は手段の一つに過ぎないライブラリを否定する事に意味があるのかは疑問だが…
要件に合わなければ使わなければいいんじゃないの?
手段と目的が逆になってないかい?

45 :nobodyさん:2010/04/13(火) 03:38:32 ID:???
Smartyは好きで使ってたけど、今はほとんど使わなくなっちゃったな。
今時はフレームワークがキャッシュ作ってくれるからSmartyのキャッシュのありがたみが無いし、
どっちにしろforeachやifが入ってくると、テンプレートは思ってるほどすっきりしない。
<?php ?> と書くか {} のと書くか違いぐらいでしか無くなっちゃった。

46 :nobodyさん:2010/04/13(火) 04:01:54 ID:???
フレームワークってそんなにいいんだ。
正直知らんかった。

47 :nobodyさん:2010/04/13(火) 15:41:41 ID:???
というか Twig が気になってきた。

48 :nobodyさん:2010/04/13(火) 17:27:49 ID:???
Smarty使えないヤツにいくら必要性をアピールしたところで無意味だよ

49 :nobodyさん:2010/04/13(火) 19:43:59 ID:???
Smartyは「ロジックの混入を防ぐためのツール」では無いのだが、
それにも関わらず、Smartyを使えば絶対安全だと勘違いする人がいる。

最初から
> SmartyにはSmartyのメリットもあるんだ。
程度の柔らかい論調で語ればいいのに、
「Smarty以外にはメリットが無いからSmarty以外は認めない!」
みたいに意固地に主張するわけのわからない信者がいる。

そういうやつが極端な煽り発言を繰り返すから炎上して、
Smartyユーザが全員馬鹿にされて、このスレで有意義な話題が始まらない。

>>42
「制限すればいい」「権限を与えなければいい」と言うなら、
生のPHPだって、制限をかければ致命的な挙動は避けられるでしょ。
論破したつもりになりたいからどんどん変な条件を追加していって、
結局自分の言いたい根本の部分がおかしくなってるいい例だよ、あなたは。

50 :nobodyさん:2010/04/13(火) 21:49:16 ID:???
で、君は何が言いたいんだい?
「最新のやり方と違う」とか言われてもさ、具体的に何がどう劣って、何がどう優れるのか示してあげなよ。
ここはあくまで「Smartyスレ」なんだよ。わかるかい?

>>生のPHPだって、制限をかければ致命的な挙動は避けられるでしょ。
コード規約上の制限は可能かもしれないが、実際に穴をふさぐのは相当難しいと思うよ?
もし可能だとしたら、それはSmarty以上に肥大化しちゃう気がするよ。

少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。
それを求めて導入する人も多々いるって事さ。

論破も何も、君の意見は「最新」とやらを後ろ盾に上から目線で否定してるだけだよね?

51 :nobodyさん:2010/04/13(火) 21:50:04 ID:???
釣れますか?

52 :nobodyさん:2010/04/14(水) 13:25:07 ID:???
>>50
自分は34ですが32ではないです。
最新どうこうは31と32が言い出した事に過ぎないので、個人的には興味ありません。
「Smarty2はモダンではない」という意識が合っていればそれ以上の主張は無いです。

> 少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。

自分の立場は、あなたのおっしゃるこの部分への反対の立場です。

> 実際に穴をふさぐのは相当難しいと思うよ?

DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。

本質は「ガチガチに設定すれば安全にだってできるんだ!」じゃなくて、
「そもそもが安全であるかどうか」でしょ。
「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。

だから、その理由をもって生PHPのテンプレートを持つフレームワークを忌避しているなら、
考え方を柔軟にして、Smarty以外のものも触ってみたらいかがですか、というお話です。

53 :nobodyさん:2010/04/14(水) 14:25:55 ID:???
>DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
>safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。

View側はそれでいいのかもしれませんが、実際にそのような設定でシステムを稼働させた事はありますか?
Controller側でDBアクセスが必要、View側では不要、という場面は多々あると思います。

>「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。

はい。そうは思いません。
ただView側に権限分離の安全策を施したい場合、Smartyに限らずテンプレートエンジンは有意義だと考えています。

ちなみにFW自体は積極的に導入していますよ。
View部分のみSmartyを採用する事で、それぞれのViewスクリプトの方言を統一する役割も担っています。

Twig等のモダンどころもテスト導入してみましたが、乗り換えるコストに対するメリットが少々薄いという印象ですね。
内部的にはSmartyより遙かに洗練されているとは思いますが。

54 :nobodyさん:2010/04/14(水) 14:46:21 ID:???
そもそも隔離スレだったのに不要論を声高に叫ぶヤツが来るからこうなるんだろ

55 :nobodyさん:2010/04/14(水) 15:40:44 ID:???
なんかわからんけどいなくならないのよね。
Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど

56 :nobodyさん:2010/04/14(水) 15:54:50 ID:???
こんな人格じゃあニワンゴくらいしか入れないだろねぇ

57 :nobodyさん:2010/04/14(水) 17:00:33 ID:???
便所の落書きで人格とか言われましても(^o^;

58 :nobodyさん:2010/04/14(水) 17:36:17 ID:???
┏(^o^;)┓
  ┃┃

59 :nobodyさん:2010/04/19(月) 23:23:08 ID:???
>Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど
そんなプロジェクトには参画したくありませんから〜
Smartyはいらない子だって分かって!

60 :nobodyさん:2010/04/19(月) 23:51:58 ID:???
そうだね。
あなたと同じくらい、世間様からは必要とされていないのかもしれないね。

ごめんね・・・ごめんね・・・

カーチャンの教育が間違っていたね・・・ごめんね・・・J( 'ー`)し

スレの皆さんも本当に申し訳ありません。
うちの子も本当は仲間に入れて欲しいだけなんです。
素直になれなくて・・・ただ、それだけなんです。

ごめんね・・・ごめんね・・・

61 :nobodyさん:2010/04/20(火) 11:15:03 ID:???
結局このスレで有意義な話題が出るわけじゃなく、
必死のSmarty擁護と煽りが交互に繰り返されるだけという所が、
Smartyの質の悪さを如実に現しているような気がする。

62 :nobodyさん:2010/04/20(火) 13:31:39 ID:???
テンプレをHTMLとjavascriptが辛うじて出来ますくらいの奴にいじらせなきゃいけない時に有効。
それ以外じゃPHPにテンプレエンジンはいらん。

63 :nobodyさん:2010/04/20(火) 14:16:38 ID:???
あのさ、もしかしたら↓の日記に洗脳された人がこのスレで荒らしてるんじゃないのかな
ttp://d.hatena.ne.jp/noopable/20090529/1243571310

Smartyが嫌いなら見にこなけりゃいいのにねw
何でわざわざ書き込みにくるんだろう
Smartyを使った仕事もないから需要というのを知らないのかな
Smartyを完全否定してる人は仕事に関わってなくて、趣味程度な人なんだろうね


64 :nobodyさん:2010/04/20(火) 14:21:55 ID:???
そりゃリプライがあるからだろ
どう見ても狼少年
てか、ポットかもw

65 :nobodyさん:2010/04/20(火) 14:48:10 ID:???
頭悪くてSmartyのメリットを理解出来ない否定派がキーキー喚いてるだけだろ・・・
本当に不要だと思うなら、こんなスレ来ないだろうし。

66 :nobodyさん:2010/04/20(火) 19:21:47 ID:???
無駄に煽るから来るんだと思うが・・・

67 :nobodyさん:2010/04/20(火) 20:43:50 ID:???
煽られてるのはスレ住民側だと思うが

68 :nobodyさん:2010/04/21(水) 11:02:30 ID:???
いちいち相手しなきゃいいじゃん
スルー出来ない奴も荒らし

69 :nobodyさん:2010/04/21(水) 17:29:06 ID:HlbrRuJm
質問してもいいでしょうか

HTMLにSmartyタグを使って
<a href="test{$hoge}test">
こんなのがあった時に、

<a href={"test{$hoge}test"|urlchange}>
こんな感じのことをしたいのですが、Smartyがエラーを吐いてしまいます。

もちろん
<a href={"test"|cat:$hoge|cat:"test"|urlchange}>
ここまで書き換えればうまくいくいのですが…。

うまい解決方法はないでしょうか?

70 :69:2010/04/21(水) 17:30:35 ID:HlbrRuJm
aタグの hrefの引数を{ |urlchange} で囲む。
というのを構文解析で自動化したいので、そのhrefの要素の中にSmartyタグが紛れていると厄介だな。
という状況です。

71 :nobodyさん:2010/04/21(水) 19:37:30 ID:???
それこそアンチが言うようにPHP側で処理すればいい

72 :nobodyさん:2010/04/22(木) 01:32:00 ID:???
SmartyはVer3系になって
あまりの迷走っぷりに皆に愛想つかされて消えて欲しいな☆

73 :nobodyさん:2010/04/22(木) 10:28:49 ID:???
えー、Smartyタグを多重に囲うとエラーになるの?w
何それしょぼすぎるw

74 :nobodyさん:2010/04/22(木) 15:25:41 ID:???
文法間違えればそりゃエラーになるだろw

>>69-70
文字列内で変数を展開する場合は、バッククォートで囲う必要があります。
<a href={"test`$hoge`test"|urlchange}>

詳しくは基本構文を参照してください
http://www.smarty.net/manual/ja/language.syntax.quotes.php

75 :nobodyさん:2010/04/22(木) 18:34:28 ID:???
>>74
> HTMLにSmartyタグを使って
> <a href="test{$hoge}test">
> こんなのがあった時に、

詳しくを参照する前に、質問者のレスを読みましょう

必ずこうなってるなら話はべつだがな
<a href={"test`$hoge`test"}>

それに関数使ってた場合は絶対無理だし

<a href={"test"|komekome}>
<a href={{"test"|komekome}|urlchange}>

76 :nobodyさん:2010/04/22(木) 18:55:08 ID:???
SmartyテンプレートをDreamweaverで編集している人いる?
Smartyタグを不可視エレメント表示できないかな

77 :nobodyさん:2010/04/22(木) 19:12:29 ID:???
>>69-70
関数まで考慮するならpostfilter、outputfilterで実装出来るけども
やろうとしてる事自体の設計が間違ってると思う。


78 :nobodyさん:2010/04/22(木) 21:35:01 ID:???
いや、設計は間違ってないだろ
手動でSmartyタグを書いたあとに、一括して全ての特定の何かを置換したい
そういったことはママあることだ

あと、実装するならprefilterだろう
postfilterで何する気だ

79 :nobodyさん:2010/04/22(木) 23:43:48 ID:???
思想としてはありだろうけど、>>69>>75みたいな状況になってしまう時点で実装方法の設計が間違ってるかと。


>>69の要件を実装したいならprefilter内で自前で構文解析するより、
postfilterもしくはoutputfilter内で必要部分をSmatyタグに置換して、再帰的にSmartyテンプレートとして実行すればいいんじゃないのかね。

prefilterで何する気?


80 :nobodyさん:2010/04/22(木) 23:48:30 ID:???
追記

憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。

無理矢理Smartyタグに置換し直す必要性があるのか?って事ね。

81 :nobodyさん:2010/04/22(木) 23:51:18 ID:???
思想としてはありだから、できないのか質問に来たわけだろ?
結果は「できない」

自身の定義タグを再帰的に処理できないとか、Smartyのしょぼさがうかがえるわ

82 :nobodyさん:2010/04/22(木) 23:59:07 ID:???
>>79
> postfilterもしくはoutputfilter内で必要部分をSmatyタグに置換して、再帰的にSmartyテンプレートとして実行すればいいんじゃないのかね。
これの意味がわからね
どういう動作させる気なの?

83 :nobodyさん:2010/04/23(金) 00:02:20 ID:???
>>結果は「できない」
お前がそう思うんならそうなんだろうな・・・お前の中では。


再帰的に処理したいならフィルタ書くなり、再帰的にfetchする実装を行えばいいだけでさほど難しくないよ。
逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。

Smartyがしょぼいんじゃなくて、使いこなせてないだけだろw

84 :nobodyさん:2010/04/23(金) 00:17:01 ID:???
>>82
<a href="test{$hoge}test">を実行する。
<a href="testHOGE_VALUEtest">という出力になる。
outputfilterで<a href="{"testHOGE_VALUEtest"|urlchange}">という風に置換して、再度実行する。
別にoutputfilterでなくてもいいけど、好きなタイミングで再起処理すればいいんじゃないかね。


どうしても自前で構文解析して、一度の実行で処理したいなら{capture}タグあたりへの置換を駆使すればいいと思うよ。

85 :nobodyさん:2010/04/23(金) 10:10:58 ID:???
いくらなんでも、
Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理

と、毎回のアクセスでやるのは動作が重すぎるので…

>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
それこそ無限ループさせる人間がしょぼいと思うんですが…
while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと

86 :nobodyさん:2010/04/23(金) 11:52:30 ID:???
{capture}を使うことで、狙った通りの挙動が可能なのを確認しました。
今件はこれで終わりにしたいと思います。
色々ありがとうございました。

87 :nobodyさん:2010/04/23(金) 13:07:05 ID:???
まったく役に立ってないけどな
再起処理は自前で実装して再起回数を制御しないと無限ループしてしまう(キリッ

88 :nobodyさん:2010/04/23(金) 13:35:31 ID:???
capture関数を見ていたところ、素直にオリジナルのブロック関数を作ればよいということがわかりました。
報告しておきます。

89 :nobodyさん:2010/04/23(金) 15:05:36 ID:???
器の小さい話だけど1人でサイト作る時は、smarty便利じゃない?
またはデザインが先に出来てて、仕組みを後から作るときとかも。

会員サイト作る時はセッションセキュ考えるのめんどくさいからFWつかっちゃうけど、
joinの嵐サイト作る時は、smartyのみ使う。

2つのキャッシュ機能使いわけが便利ですし。


と俺のお婆ちゃんが言ってた。

90 :nobodyさん:2010/04/23(金) 17:04:33 ID:???
>>85
>>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
>それこそ無限ループさせる人間がしょぼいと思うんですが…
>while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと

Smarty自身が再帰機能を持っていた場合、ループ条件はどうやって決めるのって話だが、
自前でループ条件実装しなきゃ駄目だろ?どこに実装しないなんて書いてあるの?w


>Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理
という流れを再帰処理って言うんだけど大丈夫?
再帰処理ってわかってる?w


91 :nobodyさん:2010/04/23(金) 17:08:00 ID:???
>>87
なんだ、お前役に立ってないって自覚してたのか、案外偉いな。

結果は「できない」(キリッ
Smartyのしょぼさがうかがえる(キリッ

とか言ってる時点で気づいて欲しかったが・・・
「できない」wとか言った人が何反論してもむなしいぜ?

92 :nobodyさん:2010/04/23(金) 17:47:56 ID:???
俺Smartyの仕様なんてしらねーもんw
少なくともここの連中的な結論は「できない」だっただろw

もしくは再帰的にSmartyを動かせ(キリッ
おいおいw
パフォーマンスガン無視ですかw

で、真実はSmartyにちゃんと対応できる機能がありました

あれあれ?Smartyを馬鹿にするやつは使いこなせてないからだ(キリッ とか言ってた人達、使いこなしてないですねー?w

93 :nobodyさん:2010/04/23(金) 17:48:53 ID:???
>>90
え・・・smartyタグが全て無くなったら抜けるが分岐条件だろJK

94 :nobodyさん:2010/04/23(金) 19:03:03 ID:???
>>92
開き直りカッコイイです。
どのレスが「できない」なんて言ってるの?お前のレスだけだよw

>で、真実はSmartyにちゃんと対応できる機能がありました
ねぇよw {capture}タグに置換、ブロックタグの作成で実装したって書いてあるだろ
素人だからレスの意味もわからんのだろうけど、これ、Smartyの機能じゃなくて独自拡張な。

>>93
Smartyタグが無くなったら?
それこそ最低2回は構文解析入ってパフォーマンスガタ落ちなんじゃないの?w


目先の論破にムキになって、自分にブーメランが返ってくる良い例だな君は。

95 :nobodyさん:2010/04/23(金) 20:53:30 ID:???
>>93は俺じゃねーよw
対応できる機能「あった」じゃん。独自拡張機能っていう機能が

でもそれを質問者に教えてあげることができなかったんでちゅよねーw
使いこなせば便利なSmarty(キリッ
Smartyに不満があるのは使いこなせてないから(キリッ

96 :nobodyさん:2010/04/23(金) 20:56:53 ID:???
>>95
{capture}もフィルタでの置換処理も、全部>>-84までで出てるけどw
言い返せなくて脳内変換しちゃったかな?かな?

「できない」とか「無い」とか言ってる人お前くらいだよw



97 :nobodyさん:2010/04/23(金) 21:27:49 ID:???
71 名前:nobodyさん[sage] 投稿日:2010/04/21(水) 19:37:30 ID:???
それこそアンチが言うようにPHP側で処理すればいい

74 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 15:25:41 ID:???
文法間違えればそりゃエラーになるだろw

77 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 19:12:29 ID:???
>>69-70
関数まで考慮するならpostfilter、outputfilterで実装出来るけども
やろうとしてる事自体の設計が間違ってると思う。

80 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 23:48:30 ID:???
追記

憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。



captureなんてどこにもないが?

98 :nobodyさん:2010/04/23(金) 21:30:43 ID:???
ブロック関数という言葉すらでてないな

99 :nobodyさん:2010/04/23(金) 21:54:14 ID:???
もういじめてやるなよ
アドバイスできるほど理解のある人間が、たまたまその時間帯いなかっただけだろ

100 :nobodyさん:2010/04/23(金) 22:03:13 ID:???
>>97
>>84
>どうしても自前で構文解析して、一度の実行で処理したいなら{capture}タグあたりへの置換を駆使すればいいと思うよ。

で、他に言いたいことは?
{capture}自体がブロックタグって事は理解してるかい?w
質問主は{capture}使ってみて、拡張したくなったから独自ブロックタグ作ったんだろ。

揚げ足取ろうと必死になってるけど、君の知識の無さを露呈してるだけになってるよw

101 :nobodyさん:2010/04/23(金) 22:12:29 ID:???
>>69-70を実装したいなら、フィルタを使え(>>79)
>>81再帰処理が必要?なら、フィルタやfetchで自前で再帰処理実装しろ(>>83)
単純にリンク先を置換したいだけなら、outputfilterなり{capture}使え(>>80 >>84)

という具合に結論とアドバイスが出てると思うんだが、何処に「出来ない」なんて書いてあるんだろう
>>97が素人過ぎてアドバイスの意味すら理解出来なかったんだろうけど

102 :nobodyさん:2010/04/23(金) 22:17:43 ID:???
僕に理解できるアドバイスが無い!
まともにアドバイスも出来ない低脳ばかりで、ほんっとSmartyって使えない!!って事だろ

>>97
この動画でも見ておちつけよ。お前が映ってるぞ。
http://www.youtube.com/watch?v=ph-qKLyJbkE

103 :nobodyさん:2010/04/23(金) 22:19:28 ID:???
実用的かはともかく不可能じゃ無いよね
まぁ、誰も実装はしないだろうけど

104 :nobodyさん:2010/04/23(金) 22:36:47 ID:???
>>100
なんだ。84「まで」って84も含むのか。明日までといった普通明日になる前を指すんだけどな。
俺が「結果はできない」って言ったのが81なのに、84を引き合いに出すあたりもなぁ・・・

105 :nobodyさん:2010/04/23(金) 22:44:26 ID:???
あー、わかったわかった
81の「結果はできない」という言葉を

81「俺は、Smartyにそのような機能はない。できないと知っている」
と解釈したのか
単に
81「全然まともなアドバイスでないじゃんw 思想的におかしいとか逃げてるってことはできないってことかよw 
思想は別にあってるだろw 69さん残念だね、できないみたいだよw Smartyしょぼいw」

というだけのレスだったんだが

106 :nobodyさん:2010/04/23(金) 22:48:37 ID:???
別にいいじゃねーか。
とりあえず1人はcaptureタグを挙げられる人間がいたし、そのアドバイスに従って解決したんだから。
わざわざ荒らす必要ないだろ。
カスタムブロックタグなんてマイナーな機能だから、ほとんどの人間は使ったことないだけだよ。
Smartyの凄さはそういうことだけじゃない。

107 :nobodyさん:2010/04/23(金) 23:27:27 ID:???
必死なのはわかるが、

>>81
>>思想としてはありだから、できないのか質問に来たわけだろ?
>> 結果は「できない」 自身の定義タグを再帰的に処理できないとか、Smartyのしょぼさがうかがえるわ

この文章を

>>81「全然まともなアドバイスでないじゃんw 思想的におかしいとか逃げてるってことはできないってことかよw 
>>思想は別にあってるだろw 69さん残念だね、できないみたいだよw Smartyしょぼいw」

と解釈するのは無理がある。君はまず日本語の勉強からしたほうがいいな。
伝える力が無いとどんなコミュニティでも認めては貰えないよ。

仮にこの文章を君がそのような意図で書いたのであれば、
やはり「できない」と言っているのは君だけであり、このスレの住人は優秀。

108 :nobodyさん:2010/04/23(金) 23:35:35 ID:???
>>104
少なくとも >>69-70 の要件であれば >>79 で完結している。
無駄に再帰が云々と要件を膨らますから>>84まで話が拡大したんだろ。

「明日」の話なぞしていないし「まで」の例えも間違えているよ。
君は「84まで読め」と言われて、83までしか読まないのかい?
やはり日本語から再度勉強し直したほうが良いだろう。

109 :nobodyさん:2010/04/24(土) 00:17:07 ID:???
>>107
伝える気があると期待してたの?
単に言い捨ててただけだから気にしなくていいよ
Smartyか、もしくは使っている人間がしょぼいんだろうなって思っただけだから

>>108
質問者の意図からはずれていたようだがな>>79

84まで読めなんて書いてないだろ
84は質問者への正答だから、俺は「84さんは優秀で返答できた。84以外バカばっかりじゃん」と思った
それに対して「84さん以外でもちゃんと答え出せてたもん!84に至るまでにもう応えてたもん!」というあがきに見えたから「84に至るまでの間に、何も答えなんてだせてなかったじゃん」と煽った
OK?

「思想が間違ってる」だの「再帰処理は無限ループになっちゃう」だの、的外れなバカばかりがSmarty使ってるんですねって言ってるの
OK?

110 :nobodyさん:2010/04/24(土) 00:22:30 ID:???
Smartyはすごい
Smartyは使いこなせばすばらしい
って色々な奴が言ってたけど、使いこなせてねーってのが露見したねー
まともに使えるのはほとんどいないのね
ってだけの話なのに、いつまでいいわけこいてるんだか

結局変数の埋め込み程度でしか使えない
というか「Smartyタグの埋め込みという下働き作業をさせられている側の人間」ばかりがこのスレにいるってことだろ?

111 :nobodyさん:2010/04/24(土) 00:38:05 ID:???
一応Smarty使いこなしているつもりの人間として意見。
>>69の質問に対して、ブロック関数プラグイン作れって意見が即座に出ないのは確かにしょぼいと思う。
だが、だからといって煽っていいもんじゃない。

むしろPHP側で処理しろとか、再帰的にテンプレートとして実行しろとか、フィルタで解析しろとかは、むしろアンチの自演レスじゃないかと思える。

112 :nobodyさん:2010/04/24(土) 00:43:19 ID:???
>>109
君がそう思うんならそうなんだろう・・・君のなかでな。

もう見苦しいからあきらめろ、な?
君がどんなに取り繕っても >>79>>69-70への返答としては的を得ているし、

君が質問者の意図とは違う再帰等の要件を盛り込んでイチャモンつけただけにすぎない。
(それすら>>84で返されちゃってるがww)

悔しいのはわかったが、君自身Smartyの知識が無いんだから、何言ったって負け犬の遠吠えだよ。
{capture}使ってどう実装するか君には理解できたかい?w

113 :nobodyさん:2010/04/24(土) 00:52:26 ID:???
>>112
俺は111だが、>>79が的を得ているは無い
質問者を混乱させただけだと思う

114 :nobodyさん:2010/04/24(土) 00:57:34 ID:???
79が必死すぎるw

115 :nobodyさん:2010/04/24(土) 01:09:20 ID:???
<a href={urlchange}"test{$hoge}test"{/urlchange}>
これで一瞬で終わる話題を、なぜテンプレートの再帰処理だの{capture}だの出すのか理解に苦しむ
少なくとも>>79も、>>84も、その他何もアドバイスできなかった連中も、Smartyを自慢げに語るのは恥ずかしいと思うぞ
俺の友達は世界的に有名なんだぜ!みたいな誇り方だと思う

116 :nobodyさん:2010/04/24(土) 01:16:27 ID:???
俺はこの騒動でブロック関数の有効な使い方学べたからありがたかったよw
>112は煽りを煽ってる場合じゃないと思う
capture使ってどう実装するか理解できたかい?wって、capture使うのはどう考えても遠周りなのになんで誇ってるのw

117 :nobodyさん:2010/04/24(土) 02:35:14 ID:???
>>115
ごめん、俺フィルタで考えてたw
outputfilterで<a href="">を一括置換すればいいかなとか思っていた

質問主はprefilter内で<a href="">を検索して{urlchange}というブロックタグに置換してるって事でOK?

118 :nobodyさん:2010/04/24(土) 04:22:59 ID:1DRUZqeq
あのね、
Smartyを使うということは
PHP自体を否定してるのと同義なのね。
そこら辺分かっててつかってるのかなぁ〜
この雑魚共はぁああああああああああああああ!!!!!!!!!

119 :nobodyさん:2010/04/24(土) 08:57:02 ID:???
>>117
outputfilterはコスト高いから、なるべくキャッシュに残る前の処理であるprefilterとかで済ませたほうがいい
嫌ないい方かもしれないけど、処理コストを考えてない人がテンプレートを再帰処理とかそういう妙な発想になるんだと思うな

良くも悪くも便利なせいで、内部的な動きを知らないで激重にしている人も多いのかも
ブロック関数すら、展開された後の書式を見ればかなりすごいことやってるし
ob_start系のバリバリ使ってるんだけど、あれってコスト軽いと考えていいのかなぁ?

120 :nobodyさん:2010/04/24(土) 10:12:15 ID:???
このスレの住民は相手を問わず喧嘩するのが大好きなんだなw

121 :nobodyさん:2010/04/24(土) 11:39:32 ID:???
かなり進んでいるので来てみたら・・・子供のケンカかよ。
自分の主張も良いけど、相手の主張も飲めよ。
じゃないと、論理的思考なんて無理だろ。PGに向いてない。

122 :89:2010/04/24(土) 11:43:31 ID:???
ここまで俺のお婆ちゃんに同意なし。

123 :nobodyさん:2010/04/24(土) 13:12:55 ID:???
2つのキャッシュ機能って、どれとどれ指してるの?

124 :nobodyさん:2010/04/24(土) 17:32:58 ID:???
>>122
joinの嵐サイトってなに?

125 :nobodyさん:2010/04/24(土) 22:24:17 ID:???
Smarty=カスの使うカスライブラリってことでFA?

126 :nobodyさん:2010/04/24(土) 23:05:38 ID:???
そのカスライブラリのスレで煽ってるお前もカスでFA?

127 :nobodyさん:2010/04/25(日) 03:19:15 ID:???
>>126
まぁそんなに自分を卑下するなよ。
カスなりに頑張れ。応援してるよ。

128 :nobodyさん:2010/04/25(日) 08:54:03 ID:???
Smartyを単体で使ってもそりゃカスだよ
直接PHP埋め込んだほうが手っ取り早い

Smartyが威力を発揮するのは、他の解析エンジンと組み合わせた時。
それこそ>>69みたいな使い方した時だよ
PHPで書くと自由度が高すぎて、解析がうまくいかなくなるからね

129 :nobodyさん:2010/04/25(日) 18:20:47 ID:???
てか、デザインとプログラムを分離するためなんじゃねーの?

130 :nobodyさん:2010/04/25(日) 20:49:46 ID:???
>>119
出力結果の文字列置換を行う場合、
outputfilterならpreg_replace一度の実行で済むと思うけどそんなにコスト違う?
書いてるようにブロックタグ自体、展開後の書式が無駄に重い気がするが・・・

ブロックタグで処理する場合、置換箇所が増えれば増えるほどオーバーヘッドでかくならね?
それともテンプレート全体をブロックタグで囲って疑似フィルタ的に扱うのかな?

131 :nobodyさん:2010/04/25(日) 21:06:26 ID:???
[Smarty信者の主張]

・デザインとプログラムを分離を容易にできます。
→PHPでもデザインとプログラムは分離できます。

・デザイナーとプログラマーとの分業がしやすいです。
→デザイナーはテンプレートの元になるHTMLを作り
 テンプレート自体はプログラマが作りますので
 Smartyなんか無くても生PHPで十分分業可能ですね。

何か反論ありまでしょうか?

132 :nobodyさん:2010/04/25(日) 21:18:34 ID:???
>>131
素晴らしいです。全く反論出来ません。
貴方が絶対的に全てにおいて正しく、
貴方のように聡明な方がこんな糞スレを読む時間は、
全人類にとって損失でしかありません。

しかし残念な事に、高尚な貴方の思考は、Smarty信者のような低俗な連中には理解できないのが現状です。
Smartyを駆逐する為に、比較実証コードを作成して公の場で発表するべきです。
それがSmartyワクチンとなり、PHP界のイノベーションとなる事でしょう。

期待しています。

133 :nobodyさん:2010/04/25(日) 23:30:19 ID:???
>>131
デザイナーがもっとも使っているソフトはDreamweaverである
→PHPをそのまま埋め込んでプレビューすると、エラーになる
→エラーを出さないようにする為には、サーバが必要
→SmartyタグならPHPと認識されないので、エラーにならない
 (ただし、デザインの崩れ等は発生するが

こういう反論はどうかな?

134 :nobodyさん:2010/04/25(日) 23:48:17 ID:???
>>133
俺Smarty擁護派だけど、その理由だと <script language="php"></script> タグを使えばよくね?


135 :nobodyさん:2010/04/26(月) 09:59:01 ID:???
>>130
preg_replace でも str_replaceでもなんでもいいが、正規表現を使った全文チェックが軽いと思えるのが凄い

136 :nobodyさん:2010/04/26(月) 17:55:31 ID:???
>>135
あれ・・・上の例だと、prefilterで全文検索して、部分的にブロックタグに置換してるんだよね?
だったら出力時に一括の方が早いんじゃないかなと思っただけだよ。

137 :nobodyさん:2010/04/26(月) 18:10:22 ID:???
prefilterは、キャッシュに残す前にやるから多少重くても問題ない
出力時は毎回アクセスでコスト発生するだろ

138 :nobodyさん:2010/04/26(月) 18:23:02 ID:???
でも、ブロックタグの中身自体が文字列置換処理だよね?
ブロックタグが10個あれば内部的に10回置換処理が走ると思うけど、全文検索1回と比べてそんなに軽いもんなの?

139 :nobodyさん:2010/04/26(月) 18:49:50 ID:???
置換処理の意味わかってるのか?

ブロックタグは、タグの間の文章を(通常と同じコストで)バッファに書き出し、それを引数として関数を動作させる。
置換処理なんて発生しない。
ob_stsrt(); 処理 $_tmp = ob_contents(); ob_clean();
ブロックの中身はこんな感じで取得する。通常の出力処理とコストは変わらん

それに比べ、str_replace系はHTML全文を”正規表現で”検索し、置換処理を行う。
正規表現がべらぼうに重いのは分かってるだろ?

また、一部のAタグだけ適用という方法を誤爆無くやるためには、色々細かい処理が必要。
prefilterならじっくり検証しても構わないが、outputfilterではじっくりやると毎アクセスでのレスポンスに響く。

140 :nobodyさん:2010/04/26(月) 19:29:47 ID:???
>> ob_stsrt(); 処理 $_tmp = ob_contents(); ob_clean();
「処理」の部分で、引数に対して置換処理を行っているんじゃないの?
該当タグが増えただけ、上記処理を繰り返してしまうので結構なコストがかかる気がする。

またprefilterだとSmartyで動的に生成されるリンク(pagerとか)に対応できなくない?
ブロック関数内で正規表現かまして該当箇所を置換するとかになりそうな気がするけど・・・

141 :nobodyさん:2010/04/26(月) 20:18:38 ID:???
Smartyの関数出力を「置換」と表現したら、Smartyで行うあらゆることが「置換」になって「置換」という言葉が意味をなさなくなるだろ…
言葉遊びしたいのか、ちゃんとした質問なのかはっきりしてくれ

>上記処理を繰り返してしまうので結構なコストがかかる気がする。
はい、ソースだしてね。obへの出力と、からの取得のコストがヘビーだっていうソースをね

>またprefilterだとSmartyで動的に生成されるリンク(pagerとか)に対応できなくない?
後付け条件出しすれば何にだって文句つけられるわ。あほくさい

142 :nobodyさん:2010/04/26(月) 20:35:45 ID:???
質問です
バージョンは2.6.25です。

Smartyは、テンプレートを解釈した後キャッシュを生成してくれるようですが、
排他処理を行っていないように見えます

・tempnamで作ったテンポラリ名のファイルに解釈内容を出力
・キャッシュ名のファイルを削除
・テンポラリ名のファイルを、キャッシュ名にリネーム
とやっているようですが、キャッシュ名を削除した瞬間と、他プロセスでキャッシュを読んでいる瞬間が重なった場合に問題を引き起こすような気がするのですが…

143 :nobodyさん:2010/04/26(月) 21:35:44 ID:???
気にするな

144 :nobodyさん:2010/04/26(月) 22:03:00 ID:???
>>141
ごめん、言葉遊びじゃなくて

prefilter内で、

preg_replace('/xxxx/', '{urlchange}xxxx{/urlchange}', $source);

と変換した後にブロック関数内で

function smarty_block_urlchange($params, $content, &$smarty) {
return preg_replace("/xxxxxxx/", "xxxxx", $content);
}
という具合に何らかの文字列処理(置換)が行われるわけだよね?
preg_replaceを使うかは別として、ブロック数に比例してob_start含めたオーバーヘッドが発生するわけだが
一括処理と比較してどれだけコストが違うんだい?

>後付け条件出しすれば何にだって文句つけられるわ。あほくさい
後付けは申し訳なかったが、Aタグを書き換えたいって内容的に十分想定しうる事だと思うが・・・。

145 :nobodyさん:2010/04/26(月) 22:22:31 ID:???
>>142
まともなOSならオープンしたファイルのi-nodeは閉じるまで変わらないよ

146 :nobodyさん:2010/04/27(火) 08:59:50 ID:???
>>144
その後付けにも対応したくなれば、また質問しにくる。その時また考えればいい
ob_startを含めたオーバーヘッドってのがわからん。
アウトプットストリーム。
もっといえば単に文字列バッファをスタックに積むことがそんな重い処理だとはどうしても思えないな

147 :nobodyさん:2010/04/27(火) 16:05:31 ID:???
>>146
>ob_startを含めたオーバーヘッドってのがわからん。
実際の処理では、ob_startのみじゃなくてブロック関数も実行されるでしょう?

ob_start();
smarty_block_urlchange();
$_tmp = ob_contents();
ob_clean();

仮に20カ所ブロックタグがあったら、20回上記一連の処理が実行されるわけで、
関数呼び出しのオーバーヘッドはタグ数に比例して拡大してしまう。

一括処理にすれば、1処理こそ重いものの実行コストはほぼ一定に保てる。


>もっといえば単に文字列バッファをスタックに積むことがそんな重い処理だとはどうしても思えないな
バッファ文字列に対してブロックタグ関数が実行される事を忘れてませんか?

148 :nobodyさん:2010/04/27(火) 17:53:34 ID:???
はぁ
まぁ処理の回数の予想とかして、負荷の少ないほう選択すりゃーいいんじゃねーのー?

なんかもう、ブロック関数の呼び出しオーバーヘッドがどうのーとかまで言われ始めると
そんなレベルのオーバーヘッド気にするならPHP使うのやめたらー?とか思っちゃうんですけどー
Smartyも関数呼び出してんこもりだしさー?

149 :nobodyさん:2010/04/27(火) 21:27:45 ID:???
>>133
本当にあなたの会社ではデザイナーにテンプレートを触らせるの?
俺の感覚ではテンプレートはプログラムの一部なので
デザイナーには絶対触らせたくないんだけど。

ちなみに今まで俺が参画してきたプロジェクトでは
最初に紙芝居のHTMLが作成されて、
その後プログラマがHTMLをテンプレートに変換しつつ実装
という流れしか無かったんだけど。
それはJavaでもPHPでも共通で。

150 :nobodyさん:2010/04/27(火) 23:35:20 ID:???
>>149
>その後プログラマがHTMLをテンプレートに変換しつつ実装
>という流れしか無かったんだけど。

そしてシステムを納品した後に「デザイン変更して」と言われたらどうしてるの?
或いは、画像を追加してと言われたら?

CMSで構築しているサイトなら別だが、すべてそんな案件ばかりじゃないだろ。


151 :nobodyさん:2010/04/28(水) 00:54:25 ID:???
>>150
大幅な変更ならテンプレートの元になったHTMLをデザイナーに修正依頼し
その後テンプレートに反映。小さな変更ならプログラマが修正。
WebプログラマならHTMLはもちろんCSSも分かるだろ?

152 :nobodyさん:2010/04/28(水) 01:41:56 ID:???
>>148
ん?釣りかもしれんが負荷が云々言い出したのは >>119 だよ。

個人的にはフィルタ処理のが軽いと予測したんだが、
完全に否定されたのでどんな処理を想定したのか聞きたかっただけ。
ケースバイケースってのは把握している。

153 :nobodyさん:2010/04/28(水) 09:03:55 ID:???
他人に説明する時に造語を使うな
フィルタ処理って、prefilterの処理もフィルタ処理だし、outputfilterの処理もフィルタ処理だ

154 :nobodyさん:2010/04/28(水) 11:11:16 ID:???
>>144 >>147で詳細に説明してますが・・・
結局一つのレスのみを抽出して揚げ足取りしか出来ないんですね。

155 :nobodyさん:2010/04/28(水) 11:19:19 ID:???
>>151
つまり、二重に手間がかかってるわけだな。
Smartyテンプレートをデザイナーが修正して
プログラマに渡せば良いだけなのに。

156 :nobodyさん:2010/04/28(水) 11:48:55 ID:???
>>151
プログラマならそれがどれだけ非効率かわかるだろ?
文言やデザイン修正なんて誰でも出来るんだから、プログラマのリソースを割くのは勿体ない。

157 :nobodyさん:2010/04/28(水) 12:07:47 ID:???
他のプログラマーに自分が使う関数を書かせるのと
デザイナーにテンプレートを書かせるのと
どのぐらい違うのだろう

158 :nobodyさん:2010/04/28(水) 12:51:01 ID:???
>>157
全然違うし、言いたいこともわからない。

159 :nobodyさん:2010/04/28(水) 13:06:13 ID:???
>>154
ちょっと待て。
揚げ足取りしたいとは思わないが、お前の発言が>>144>>147の続きであるというのはお前にしかわからんことだ。
関連レスも全てひっくるめて話したいなら、ID出すとかしてくれよ

160 :nobodyさん:2010/04/28(水) 15:07:27 ID:???
>>159
>>152で関連レスとして>>119を上げてる時点で、一連の流れに対するレスだと解ると思うが・・・すまん。
でも、お前スレの流れ自体読んでないだろw

ID出しても煽りが沸くだけなので出さんよ。

161 :nobodyさん:2010/04/28(水) 17:42:28 ID:???
>>160
「>>○でお前が言ってたのと前提変わってるじゃねーか」
のように、勝手にこっちで推測して「関連レスだな」と判断すると

「そいつは俺じゃねーよ。勝手に行間読むな」
と返されるのは匿名掲示板。

基本的に「そのレス」の内容だけしか評価せんよ。

162 :nobodyさん:2010/04/28(水) 18:20:46 ID:???
はぁ、そうですか。

>>152は君に対しての発言じゃないし、
>>153はスレを読む気も無い人が、1レスを拾って横やりいれてきただけって事だね。

やっぱりただの揚げ足取りじゃんw

163 :nobodyさん:2010/04/28(水) 18:36:09 ID:???
どう読めばそうなるのか知らんが、まぁそう思いたいならそう思えばいいんじゃないか
とりあえず唐突な造語は使わんほうがいいよ

164 :nobodyさん:2010/04/28(水) 18:43:01 ID:???
造語じゃなくて、outputもpreもpostも含めてフィルタ処理だろ・・・
お前職場でもそんな揚げ足取りばっかやってるん?

165 :nobodyさん:2010/04/28(水) 20:15:47 ID:???
ひとつだけ言わせろ。つまらん事で結果するな。
あと、PGなら相手の主張も一旦受け止めて反論しろ。

166 :nobodyさん:2010/04/28(水) 20:16:40 ID:???
結果 → 喧嘩

167 :nobodyさん:2010/04/29(木) 12:50:21 ID:???
smartyスレってこういうのが宿命なんだな

168 :nobodyさん:2010/04/30(金) 08:52:54 ID:???

>>164
>造語じゃなくて、outputもpreもpostも含めてフィルタ処理だろ・・・



>>119
>output『filter』はコスト高いから、なるべくキャッシュに残る前の処理であるpre『filter』とかで済ませたほうがいい


169 :nobodyさん:2010/04/30(金) 12:28:49 ID:???
人たたきをしてる方の論が間違ってるってのが、こういうスレでの常識。

170 :nobodyさん:2010/04/30(金) 17:32:00 ID:???
>>168
あれ、都合悪い時だけ前後のレス読むんだ?w

119からの流れ読んでればブロック関数よりフィルタ(preにせよpostにせよ)で処理するほうが早いと思ったと伝わると思うんだが。

171 :nobodyさん:2010/04/30(金) 17:43:57 ID:???
>>170
結局、自分の言い間違いを指摘されて逆切れしてただけかよ
勘弁してくれ

172 :nobodyさん:2010/04/30(金) 18:04:54 ID:???
>>170
> フィルタ(preにせよpostにせよ)
釣りかよ。
質問主の要件満たせてねーじゃねーか。

173 :nobodyさん:2010/04/30(金) 18:27:56 ID:???
で、結論としてフィルタとブロックのコストの違いは?

174 :nobodyさん:2010/04/30(金) 18:29:18 ID:???
フィルタ(preにせよpostにせよ) と ブロック関数のコストの違いだったら、圧倒的にブロック関数の方が不利
ブロック関数は出力毎に作動するから

preとpostのフィルタは出力毎には動作しないからコストが無い

175 :nobodyさん:2010/04/30(金) 18:39:14 ID:???
>>119 のやってるprefilterでブロック関数を生成と、outputfilterならどっちがコスト高い?

俺の認識でh


176 :nobodyさん:2010/04/30(金) 18:41:09 ID:???
>>119 のやってるprefilterでブロック関数を生成と、outputfilterならどっちがコスト高い?

俺の認識ではブロック関数は、
ブロック内の出力にoutputfilterをかけるようなものなので、
さほどコストに違いなは無いと思うが。

177 :nobodyさん:2010/04/30(金) 18:51:08 ID:???
実験してみた。

11個ほどAリンクがあるページで4800バイトの超軽いページ。
なにもしないと0.120秒程度。
ブロック関数で処理すると0.140秒程度

正規表現はめんどかったんで、ereg_replace("href=", "href2=", $content)
で、リンクの数だけとりあえず置換されるようにしてみた。
結果0.127秒程度

まあ正規表現は駄目だと思うね。ページ容量がこの程度で0.007秒も増加するし
全然細かいことができないから、urlchangeを呼んで色々やりたいという需要も満たせない
細かく事やり始めるとコストが膨大になるのも目に見えてる

178 :nobodyさん:2010/04/30(金) 19:03:16 ID:???
むしろ、その程度なのに「駄目」だとするのはおかしくないか?

179 :nobodyさん:2010/04/30(金) 19:07:05 ID:???
>>177
ブロック関数でereg処理すると 0.140
outputfilterでereg処理すると0.127
って事?



180 :nobodyさん:2010/04/30(金) 20:43:18 ID:???
この差がどうでもいいレベルなら、正直どっち使ってもいいよw
質問主の需要はどちらでも満たせるし

>>179
そそ、そんな感じ。

実際はpreg_replace_callbackを使うことになるのかな?
Aタグの解釈はもっと厳密にやらないとなー
target属性とかもうまく避けないと

てか、正規表現で正確にやるのつらくね?

181 :nobodyさん:2010/04/30(金) 21:01:09 ID:???
>>179
ブロック関数1回の呼び出しオーバーヘッドは 0.001秒ってところか
prefilterと組み合わせる手間も考えるとoutputfilterかなぁ・・・

Aタグ解釈の完璧な実装は難しいよね。
JavaScript使っていいならjQuery経由でクライアント側書き換えとかもありかもしれんね。


182 :nobodyさん:2010/04/30(金) 21:34:32 ID:???
prefilterならsimple_html_domとかで厳密解釈できるから良いぜ

183 :nobodyさん:2010/04/30(金) 23:05:17 ID:???
それはprefilterに限らないんじゃないか?
というか正規表現より重くなる気がすw

184 :nobodyさん:2010/05/06(木) 15:16:22 ID:???
重い重くないの話しているやつで、outputfilterで正規表現置換を主張している人間は
なぜ何度注意されても「outputfilterの結果はキャッシュされない」「prefilter, postfilterの結果はキャッシュされるから、多少重くても問題ない」
という事実を無視してまぜっかえすの?
馬鹿なの?煽りなの?

185 :nobodyさん:2010/05/06(木) 16:15:04 ID:???
今更蒸し返すお前も相当アレだと思うが、

prefilterでブロックタグに置換した後のコンパイル済テンプレートはキャッシュされるが、
ブロックタグ自体の実行コストが重いと>>177で実証されている。

おわり。

186 :nobodyさん:2010/05/06(木) 17:04:58 ID:???
テンプレートってよく使われてるものなの?
HTMLとPHPがごちゃごちゃになって読みにくくなる(書き方が下手なだけだけど)から
テンプレートはなんか便利そうだなって思うんだけど、
決定的な理由がないと何となく踏み出せないのれす・・

187 :nobodyさん:2010/05/06(木) 17:20:24 ID:???
たぶん決定的な理由なんてないと思うよ

188 :nobodyさん:2010/05/06(木) 17:28:27 ID:???
そうなの?
大規模なシステムを作る場合はみんな使ってる
みたいなことがあれば絶対覚えようと思うんだけど

189 :nobodyさん:2010/05/06(木) 17:45:13 ID:???
>HTMLとPHPがごちゃごちゃになって読みにくくなる(書き方が下手なだけだけど)から
>テンプレートはなんか便利そうだなって思うんだけど、

多分テンプレートエンジンを導入した人の大半は同じ理由だと思う。
無くても大丈夫だけど、あれば便利な局面が結構あるよ。


190 :nobodyさん:2010/05/06(木) 17:47:21 ID:???
楽天が使ってるとか使ってないとか

191 :nobodyさん:2010/05/06(木) 18:15:42 ID:???
あまり例に出してほしくない名前だなw

192 :nobodyさん:2010/05/06(木) 19:14:19 ID:???
よしっ、やってやるぅ!

193 :nobodyさん:2010/05/07(金) 14:51:18 ID:???
>>189

Smarty慣れたら<? ?>で出たり入ったりなんてやってられんわ

194 :nobodyさん:2010/05/07(金) 18:56:04 ID:???
>>155-156
普通は紙芝居の時点でデザインはある程度FIXするだろ?
開発に入って大幅な変更が入るようなことは今までなかったんだが。
お前らの開発現場では実装段階でそんなに何度もデザインが変わるのか?
もしそうなら上流工程のやり方を見直した方がいいぞ?

あとテンプレートっていうのはSmarty使ってようが生PHPだろうが
プログラムの一部だと思うんだけど、それをデザイナーに触らせるのって
気持ち悪くないの?

195 :nobodyさん:2010/05/07(金) 19:21:04 ID:???
>>194
例えばブログ系システムとかテンプレート自体が増える事もある。
ユーザ別にデザインを振り分けたくなる事もある。

気持ち悪いとか、そんな個人的感情で誰でも出来るテンプレート編集にプログラマのリソースを割くのが当たり前だと思っているなら、
職業PGは向いていないと思うよ。気持ち悪くない分業方法を確立しなきゃ。

個人的には生PHPタグが混入しているテンプレートの方が気持ち悪い。

196 :nobodyさん:2010/05/08(土) 00:24:33 ID:???
>>195
ブログ系システムみたいな揚げ足取りの例は無視な。

気持ち悪いと思うのはプログラマとして当然の思考。
例えビューでもコード(Smartyのタグでも)の入ってる時点で
プログラマの管理すべきソースだろ?
そこに勝手にデザイナーが手を入れていいのか?
素人の仕事じゃあるまいし。

HTMLからテンプレートへの変換って大した手間でもないだろう?
そんなことも面倒に思うほどどうしようもない人間なのか君は?
デザイナーだって汎用性のないSmartyの記述なんか覚えたくないと思うよ?

>個人的には生PHPタグが混入しているテンプレートの方が気持ち悪い。
CakePHPとかsymfonyとか触ったことないんですね。
そんな低レベルな人はレスしないでほしいな☆

197 :nobodyさん:2010/05/08(土) 01:25:47 ID:???
おっちゃん何で怒ってんの?

198 :nobodyさん:2010/05/08(土) 01:28:05 ID:???
ブログ系ってのは解りやすく例えただけだよ。
ユーザが好きなテンプレートを使えるサイトは多々あるよね。
SNS系、グリーティングカード系、携帯系、etc
揚げ足取りじゃなくて、君が携わった事ないだけだよ。経験不足。
それじゃなくともSI系や代理店系の仕事になると、大抵外部の人間がテンプレートを弄る事になるよ。

>例えビューでもコード(Smartyのタグでも)の入ってる時点でプログラマの管理すべきソースだろ?
それは貴方の視野が狭いだけ。
デザイナでも扱えるレベルの環境すら提供出来ない糞PGは大人しく自分でテンプレート書いてなw

>HTMLからテンプレートへの変換って大した手間でもないだろう?
貴方の作ってるサイトがしょぼいか、貴方がしょぼいからテンプレート編集振られてるだけだよ。


>CakePHPとかsymfonyとか触ったことないんですね。
触った事無いじゃなくて、触った上で気持ち悪いんだがw

199 :nobodyさん:2010/05/08(土) 01:53:03 ID:???
>>198
ブログ系のシステムでテンプレートが増えたところで
そんなに何千もの数になるのか?ならんだろ?
そしてHTMLからテンプレートに変換する作業にどれだけの
時間がかかるんだ?そんなにかからんだろ?
プログラマのリソース云々言う程のことか?

>それじゃなくともSI系や代理店系の仕事になると、
>大抵外部の人間がテンプレートを弄る事になるよ。

大嘘つくなよ。
SIの仕事でテンプレートをデザイナーその他の人間に触らせるような
現場見たことねーよ。

>デザイナでも扱えるレベルの環境すら提供出来ない

何を訳の分からないこと言ってんだ?
頭おかしくなっちゃったの?

>貴方の作ってるサイトがしょぼいか、貴方がしょぼいからテンプレート編集振られてるだけだよ。

HTML→テンプレートの変換すらできないのか。
もうね・・・レベルが・・・低すぎる・・・。

>触った事無いじゃなくて、触った上で気持ち悪いんだがw

じゃあ、気持ち悪いからCakePHPもsymfonyも使わないんだ?
もしくはView改造して使ってるのかw
お前は一生Smarty使ってろwww
Smarty3の感想聞かせてくれやwww


200 :nobodyさん:2010/05/08(土) 01:55:53 ID:???
なんかキモい人たちがいる・・・

201 :nobodyさん:2010/05/08(土) 02:15:15 ID:???
>そんなに何千もの数になるのか?ならんだろ?
仕様で上限を決めてるならいいかもね。決まってないなら怠慢でしかないよ。
仮に30個程度だとしても恩恵は受けられるけどね。

>大嘘つくなよ。SIの仕事でテンプレートをデザイナーその他の人間に触らせるような
>現場見たことねーよ。

だからお前の経験不足なだけだよ。
俺が見たことない=一般的なのか?w

>HTML→テンプレートの変換すらできないのか。
いや、だから「誰でも出来る」って言ってるじゃんw何威張ってるのw
>>155の話では

1.デザイナがHTMLを納品
2.PGがHTMLをテンプレートに変換
3.修正はデザイナが行う

って話だろう。OK?
大幅な修正は1.の行程からやり直せばいいと思うが、
細かい修正はデザイナでも出来るようにしとけばいい。
PG不在の時に緊急対応入ったらお前はどうするんだ?w
24時間おまえが対応してくれるのか?
それとも「PGしか弄れないので後日対応します(キリッ」か?w


1、2をPGが何度も行うより、3のみをデザイナが行う方が、人為的ミスは減ると思うよ。

202 :nobodyさん:2010/05/08(土) 03:05:14 ID:???
買収されちゃったとかで行われる著作権表記の変更をPGがやるの?
気まぐれな客の要望を満たすためにコンテンツの名称変更をPGがやるの?
コントローラーとモデルを流用した新コーナーの製作作業をデザインの調整までPGがやるの?

一度公開したら変更は想定出来ない部分までDBに格納しろっての?

203 :nobodyさん:2010/05/08(土) 03:50:55 ID:???
デザイナに触らせるのが不安なんじゃなくて、
仕事取られるのが不安なんだよね。

PGを特別なアーティストか何かと勘違いしていて、
「自分にしか出来ない」とうステータスを保持したいんだよね。

PGなんて登竜門でしかない。
SEになれとは言わないが、若手PGやデザイナを上手く使えないようでは未来は無いよ。
少なくとも上流PGが「俺がテンプレートも編集する」とか言ってたら下流PGはついてこないw

204 :nobodyさん:2010/05/08(土) 16:02:40 ID:???
>>199がSEで、PGに対して「数百個程度のテンプレならPGがやれ」と命令してるんだろうな

205 :nobodyさん:2010/05/08(土) 16:05:28 ID:???
おまぃら2週間近くもよく同じ話が続けられるな

206 :nobodyさん:2010/05/08(土) 23:29:02 ID:???
>>201
>だからお前の経験不足なだけだよ。
>俺が見たことない=一般的なのか?w
経験不足ですかw
確かに。いろいろな現場を見てきたけど
デザイナーがテンプレートに手を入れるようなしょぼい現場は
経験不足だわw

しかし大手・中小・BtoB・CtoCと色々な現場を見てきたけど
なんでお前の言うような現場を見たことが無いんだろうなぁ?
お前が経験不足だと知ることから始めたら?

>1.デザイナがHTMLを納品
>2.PGがHTMLをテンプレートに変換
>3.修正はデザイナが行う
だからなんでデザイナが修正を行うんだよ。
PGがテンプレートを作ったんだから修正もPGがやれよ。
その方が余程効率的だろ?

>細かい修正はデザイナでも出来るようにしとけばいい。
>PG不在の時に緊急対応入ったらお前はどうするんだ?w
>24時間おまえが対応してくれるのか?
>それとも「PGしか弄れないので後日対応します(キリッ」か?w
おいおい、PGが不在ってどんな状況だよ。
お前のやってる仕事なんてのはそんなしょぼい仕事なのか?
あと、デザイナーに保守やらせんなよw
こういう雑魚とは前提条件が違うから話すだけ無駄なんだな。

>1、2をPGが何度も行うより、3のみをデザイナが行う方が、人為的ミスは減ると思うよ。
このアホを誰かつまみ出せよ。

207 :nobodyさん:2010/05/08(土) 23:40:42 ID:???
>>202
>買収されちゃったとかで行われる著作権表記の変更をPGがやるの?
>気まぐれな客の要望を満たすためにコンテンツの名称変更をPGがやるの?
著作権表記も名称変更も一括置換でできるだろ。
逆にデザインとまったく関係の無い業務をデザイナーにやらせるのは
非効率だし本質的ではないだろ?

>コントローラーとモデルを流用した新コーナーの製作作業をデザインの調整までPGがやるの?
新コーナーって・・・香ばしい言い回し(本当にプロなのか?)
既存のものと全然違うデザインならデザイナーにHTMLの作成依頼して
PGがテンプレートに変更しろよ。
じゃなければ既存のものを転用してビュー作れよ。
5分程度だろ。

>一度公開したら変更は想定出来ない部分までDBに格納しろっての?
何を訳の分からないことを・・・

208 :nobodyさん:2010/05/08(土) 23:47:47 ID:???
>>203
>デザイナに触らせるのが不安なんじゃなくて、
>仕事取られるのが不安なんだよね。

ハァ・・・
なんという的外れなレス・・・
お前はネットばっかやってないで社会に出て仕事しろ。

>PGを特別なアーティストか何かと勘違いしていて、
>「自分にしか出来ない」とうステータスを保持したいんだよね。

ステータスw
ビューの作成をデザイナーにさせたくないのは「ステータス」の為www
これ笑うところでいいんだよね?

>PGなんて登竜門でしかない。
>SEになれとは言わないが、若手PGやデザイナを上手く使えないようでは未来は無いよ。
>少なくとも上流PGが「俺がテンプレートも編集する」とか言ってたら下流PGはついてこないw

設計も実装も出来てPGとして一人前だ。
僕は上流PGだから(何それw)テンプレートの編集はしないよ(キリッ
↑死ねw

209 :nobodyさん:2010/05/09(日) 00:51:05 ID:???
長文野郎はキチガイと決まっている


箇条書きに>>を使うのやめれ

210 :nobodyさん:2010/05/09(日) 00:52:34 ID:???
あー、箇条書きじゃなくて引用に>>を使ってるのか
アンカーになるから二重にするな

211 :nobodyさん:2010/05/09(日) 10:37:05 ID:???
>>209-210
何を訳の分からないことを言ってんだこのキチガイはw

212 :nobodyさん:2010/05/09(日) 11:05:58 ID:???
何らかの専ブラで>1が>>1にでも変換されるようになってるとかじゃね?

213 :nobodyさん:2010/05/09(日) 15:52:28 ID:???
なんか、呼称の問題な気がして来たw

214 :nobodyさん:2010/05/09(日) 16:59:51 ID:???
>>208
Smartyの序文でも読んでごらん。
http://www.smarty.net/manual/ja/preface.php

例えば私たちの会社において、アプリケーション開発は次の順序で行われています。
アプリケーションの要求仕様書を作成した後、インタフェースデザイナーは ユーザーインタフェースのモデルを作成しプログラマに渡します。
プログラマーは PHP によってビジネスロジックを実装し、 ユーザーインタフェースのモデルを使ってテンプレートの骨組みを作成します。
その後、プロジェクトはとても素晴らしいテンプレートをもたらしてくれる HTML テンプレートデザイナー/レイアウトデザイナーに手渡されます。
このようにプロジェクトはプログラマー/デザイナーの間で あちこちに何度も行き来する可能性があります。
プログラマーは HTML を何も扱いたくないし、HTML デザイナーに PHP コードの箇所をいじられたくないので、有用なテンプレートの土台を持つ事は重要です。
デザイナーは設定ファイルやダイナミックブロックのサポートや 他のインタフェースの公開が必要ですが、彼らは複雑な PHP 言語を扱いたくありません。


君がどんな現場を見てきたのかしらんが、Smarty使う使わないに限らず上記のような思想で動いているプロジェクトは多い。
プロジェクトが大きくなればなるほどその確率は高くなるよ。
今まで遭遇した事が無いのであれば、よほどブラックな界隈か、しょぼい案件か、経験不足のどれかだと思うよ。

215 :nobodyさん:2010/05/09(日) 17:02:43 ID:???
>>一度公開したら変更は想定出来ない部分までDBに格納しろっての?
>何を訳の分からないことを・・・

テンプレートが弄れないなら、あらかじめ変数なりにしておいてCMSで弄れるようにしろって事でしょ。
その程度の読み取れないのかぁ、完全に経験不足だよお前w

216 :nobodyさん:2010/05/09(日) 17:14:06 ID:???
言い合ってる2人のやり取りをまとめると、
結局、商用のWebアプリにSmartyはよく使われてるってことだよね?

217 :nobodyさん:2010/05/10(月) 00:55:58 ID:???
広く使われているが為に、理解力の無い輩も沸いちゃうんだよね。

>このようにプロジェクトはプログラマー/デザイナーの間で あちこちに何度も行き来する可能性があります。
>プログラマーは HTML を何も扱いたくないし、HTML デザイナーに PHP コードの箇所をいじられたくないので、有用なテンプレートの土台を持つ事は重要です。
>デザイナーは設定ファイルやダイナミックブロックのサポートや 他のインタフェースの公開が必要ですが、彼らは複雑な PHP 言語を扱いたくありません。

を解決したいという明確な設計思想があるのに、
テンプレートもプログラムの一部であり、デザイナに触らせるのは気持ち悪い。PGがテンプレートを弄るべき(キリッ
とか声荒げられてもなぁ・・・

おい…なんかキモいのが来たぞ…
    ∧,,∧  ∧,,∧キモ…
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )         (^ν^) ……
| U (  ´・) (・`  ) と ノ         /l_l\
 u-u (l    ) (   ノu-u            l <........
     `u-u'. `u-u' なんだあいつ…


うぜぇ…
      ∧,,∧          分業厨乙!!         ∧,,∧ 無視しろ無視…
 ∧∧ (・`  )        テンプレはPGが触るべき!!(  ´・) ∧∧
(ω・` ) U  )           \(^ν^)/         (  Uノ( ´・ω) キモいよー…
| U   u-u               l_l            u-u (U  ノ
 u-u ∧,,∧              / \          ∧,,∧  u-u
    (・ω・`)                          (´・ω・) なんなのあいつ…
    (l  U)市ねよ…                     (U  ノ
    `u-u'.                            `u-u'

218 :nobodyさん:2010/05/18(火) 05:24:06 ID:???
つまらん言い合いは飽きた
有用なネタ頼む

219 :nobodyさん:2010/05/18(火) 11:24:20 ID:???
CakePHPだとビューキャッシュ効かせても糞遅いんで、ビューにSmarty使ってSmartyのキャッシュで表示したい

生のCakeの速度を1として
生Cake 1
キャッシュCake 5
Smartyキャッシュ 500

Cake+Smartyキャッシュだとどれくらい?

220 :nobodyさん:2010/05/18(火) 14:54:59 ID:???
Smarty3から生PHPテンプレートに対応するんだな。
速度はさほど改善されないっぽいけど、
継承や、新構文、リソース種類の増加で地味に使いやすくなってる気がする。

>>219
生Cakeのキャッシュでどんな実装してるかわからんから比較できないよ。
Smarty単体で速度計測してみれ・・・

221 :nobodyさん:2010/05/19(水) 15:34:19 ID:???
Smartyには、軽くて速くて使いやすい方向に行って欲しかったんだがな・・・
複雑なことならPHP直接書くしさ

222 :nobodyさん:2010/05/19(水) 16:57:12 ID:???
smartyって中身的にはsqliteとも違う構造ですか?

223 :nobodyさん:2010/05/19(水) 17:38:46 ID:???
意味がわからない、何故sqliteが出てくるの?

224 :nobodyさん:2010/05/19(水) 18:07:15 ID:???
PHP生テンプレート対応で、
「PHP自体がテンプレートエンジンなんだからSmartyなんていらん(`Д´)」
と言われなくなるのかと思うと胸が熱くなるな。


225 :nobodyさん:2010/05/19(水) 18:28:35 ID:???
ビューにコードが入るのがイヤだからSmarty使ってたんじゃないの?どんな気持ち?
こうなるから安心しろ

226 :nobodyさん:2010/05/20(木) 22:43:45 ID:???
>>214
Smartyを作った会社なんだから
そのような考え方・やり方の会社なんだろ。
こんな極端な例を見せて何悦に浸ってんだお前?

お前にそのまま返しますw

お前がどんな現場を見てきたのかしらんが、お前が主張するような思想で動いているプロジェクトは少ないんだよ。
プロジェクトが大きくなればなるほどその確率は低くなる。
今まで遭遇した事が有るのであれば、よほどブラックな界隈か、しょぼい案件か、経験不足のどれかだと思うよ。

>>215
お前って都合の悪いことは答えないで
揚げ足取りばかりなw

227 :nobodyさん:2010/05/20(木) 22:45:26 ID:???
>>217
>広く使われているが為に、理解力の無い輩も沸いちゃうんだよね。

広く使われてないし、理解しようとも思ってませんからw

>を解決したいという明確な設計思想があるのに、
>テンプレートもプログラムの一部であり、デザイナに触らせるのは気持ち悪い。PGがテンプレートを弄るべき(キリッ
>とか声荒げられてもなぁ・・・

テンプレートを色んな人間が触るなんて糞みたいな設計思想だな。
だからお前ら馬鹿にされんだよ。
その糞みたいな設計思想を実現するために
デザイナーに汎用性の無い糞みたいなSmartyの記述を覚えさせ、
CVSやSVN等の使い方教えるのか。
デザインだけに専念したいだろうに可哀相。

228 :nobodyさん:2010/05/20(木) 22:48:12 ID:???
CakeはRilsと同じくフルスタックを売りにしてるのに
勝手にSmartyみたいな屑ライブラリをくっつけるな。
フレームワークの思想が乱れる。

229 :nobodyさん:2010/05/20(木) 23:32:32 ID:???
>>227

>>広く使われてないし、理解しようとも思ってませんからw

ん?では何のためにこのスレ来てるの?
君の周りでは誰も使っていない、自分も使う気が無いなら、全くもって時間の無駄だと思うがw

>>CVSやSVN等の使い方教えるのか。

・・・凄い人達と仕事してるんだなw
SVN使えないなんて、FTP使えないです!パーミッションって何ですか!?と同じレベルだぜ。

君のところはバージョン管理してないの?
それとも毎回手動でプログラマがコミット&マージを行ってるの?ww

230 :nobodyさん:2010/05/21(金) 00:13:07 ID:???
>>226-228
どしたんだいぶ遅れて。ツンデレ?

231 :nobodyさん:2010/05/21(金) 01:40:19 ID:???
言い返せなくて画面の前で真っ赤になってたんだろうよw プライドだけは高そうだからなw
1人ファビョっても誰も受け入れてくれないのにな。隣国の人なのかな。

232 :nobodyさん:2010/05/21(金) 08:10:31 ID:???
言い合いウザい。
どっちも消えろ

233 :nobodyさん:2010/05/21(金) 10:20:08 ID:???
> お前がどんな現場を見てきたのかしらんが、お前が主張するような思想で動いているプロジェクトは少ないんだよ。
[要出典]

> プロジェクトが大きくなればなるほどその確率は低くなる。
[要出典]

> 今まで遭遇した事が有るのであれば、よほどブラックな界隈か、しょぼい案件か、経験不足のどれかだと思うよ。
[要出典]


234 :nobodyさん:2010/05/21(金) 19:44:58 ID:???
>>227
>テンプレートを色んな人間が触るなんて糞みたいな設計思想だな。

複数人がビューを弄る事と、Smartyの思想は別の話だよ。
生PHPテンプレートだとしても、複数人が安全に弄れるようバージョン管理は行う。
バージョン管理すら存在しないような最下層の開発現場じゃどうしようもないんだろうけどw

>デザイナーに汎用性の無い糞みたいなSmartyの記述を覚えさせ、

汎用性の無い糞みたいなPHPビュークラスや自作エスケープ関数を教えるの?w

>CVSやSVN等の使い方教えるのか。
>デザインだけに専念したいだろうに可哀相。

バージョン管理なんて最早基礎スキルだろw
デザインに専念したい?
なら尚更、煩わしい連携作業を効率化する為にもバージョン管理やテンプレート弄る権利は必要だろ。
PGにテンプレ反映依頼しないと動作確認すら確認出来ない環境でデザインに専念?笑わせるなw

235 :nobodyさん:2010/05/21(金) 23:01:47 ID:???
>>229
>ん?では何のためにこのスレ来てるの?
>君の周りでは誰も使っていない、自分も使う気が無いなら、全くもって時間の無駄だと思うがw
いや、PHPでテンプレートエンジンを使うような奇特人間の観察でもと思ってな。

>・・・凄い人達と仕事してるんだなw
デザイナーなんて大抵外注だから知らねぇけど
SVNとか使えねぇんじゃねーの?
(だからこそテンプレートなんか触らせないわけだが)

>SVN使えないなんて、FTP使えないです!パーミッションって何ですか!?と同じレベルだぜ。
てゆーかお前のセリフっていちいち素人臭ぇんだよな。
お前、マジでショボイだろ?

>君のところはバージョン管理してないの?
>それとも毎回手動でプログラマがコミット&マージを行ってるの?ww
バージョン管理してるって文脈で分からん?アホなの?
デザイナーは外注だからHTMLを納品するだけでコミットなんかしねーよ。
ソースのコミット・マージってそんなに大変か?
お前はいちいち面倒くさがってるけど
そんなに程度が低いのか?

236 :nobodyさん:2010/05/21(金) 23:03:29 ID:???
>>234
>複数人がビューを弄る事と、Smartyの思想は別の話だよ。
Smartyはそういう思想で作られたものだと
お前らが>>214主張してた訳だが。知能指数低めか?

>汎用性の無い糞みたいなPHPビュークラスや自作エスケープ関数を教えるの?w
だからさーなんでお前はそんなに知能指数が低いんだよ。
デザイナーにテンプレートなんて触らせねって言ってんだろが。

>バージョン管理なんて最早基礎スキルだろw
>デザインに専念したい?
>なら尚更、煩わしい連携作業を効率化する為にもバージョン管理やテンプレート弄る権利は必要だろ。
バージョン管理のくだりにこだわるねぇ。
バージョン管理をとてもすごいことだと思ってるのか?
お前みたいな低スキルでも使えるくらい簡単なシステムだよw
デザインに専念できないって言ってるのはSmartyの糞みたいな記法だ。

>PGにテンプレ反映依頼しないと動作確認すら確認出来ない環境でデザインに専念?笑わせるなw
デザイナーにテンプレ反映依頼しないと動作確認すら出来ない環境で
プログラミングに専念?馬鹿かw

237 :nobodyさん:2010/05/21(金) 23:39:18 ID:???
喧嘩するなよそでやってくれ
自演で喧嘩してるようにしか見えん

[要出典]タグでもつけときゃいいんだよ

238 :nobodyさん:2010/05/21(金) 23:52:07 ID:???
smartyスレはいつもこんな感じだよなぁ、みんなストレス溜まってるようだ

239 :nobodyさん:2010/05/21(金) 23:53:14 ID:???
みんなじゃ無いよ
一人だよ

240 :nobodyさん:2010/05/22(土) 00:29:13 ID:???
おい…なんかキモいのが来たぞ…
    ∧,,∧  ∧,,∧キモ…
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )         (^ν^) >>235-236
| U (  ´・) (・`  ) と ノ         /l_l\
 u-u (l    ) (   ノu-u            l <........
     `u-u'. `u-u' なんだあいつ…


うぜぇ…
      ∧,,∧          奇特人間乙!!        ∧,,∧ 無視しろ無視…
 ∧∧ (・`  )        テンプレはPGが触るべき!!(  ´・) ∧∧
(ω・` ) U  )           \(^ν^)/         (  Uノ( ´・ω) キモいよー…
| U   u-u               l_l            u-u (U  ノ
 u-u ∧,,∧              / \          ∧,,∧  u-u
    (・ω・`)                          (´・ω・) なんなのあいつ…
    (l  U)市ねよ…                     (U  ノ
    `u-u'.                            `u-u'


241 :nobodyさん:2010/05/22(土) 00:41:07 ID:???
 ((⌒⌒))
((((( )))))
  | | ファビョーン
  ∧_∧
∩#`Д´>") 奇特人間を観察してるだけニダ!
ヽ   ノ
 (_つ ノ
  し"

242 :nobodyさん:2010/05/22(土) 02:18:15 ID:???
AAか。
ま、Smarty厨にはお似合いだわw

243 :nobodyさん:2010/05/22(土) 03:55:27 ID:???
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      < AAか。ま、Smarty厨にはお似合いだわw
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄

244 :nobodyさん:2010/05/22(土) 13:16:32 ID:???
AA出しちゃった時点で負け

245 :nobodyさん:2010/05/22(土) 13:47:29 ID:???
キリッ

246 :nobodyさん:2010/05/22(土) 14:48:45 ID:???
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      < AA出しちゃった時点で負け
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄


日本語の読み書きが不自由な >>235 の為にAAを用意しまんた。
>>240 のAAが全てだと思います。自分の巣へお帰り・・・。

247 :nobodyさん:2010/05/22(土) 14:59:06 ID:???
AAでしか対抗できないSmarty厨
こんなスレAAで埋めてしまえよw

248 :nobodyさん:2010/05/22(土) 15:02:03 ID:???
SmartyにAA出力機能でも付けろよw
お前らには必須の機能だろw

249 :nobodyさん:2010/05/22(土) 15:21:10 ID:???
草が増えてきましたね
レスも分割しちゃって・・・ファビョル寸前ですね


「AA出力機能でも付けろよ」(キリッ

この嫌味にも皮肉にもならない煽り文句・・・
あれ、顔真っ赤ですよ?大丈夫ですか?

250 :nobodyさん:2010/05/22(土) 18:45:57 ID:???
<pre>タグで実現できるだろ。
Smartyが何かも知らずに煽ってたのかw

251 :nobodyさん:2010/05/22(土) 19:10:32 ID:???
>>249
お前って「キリッ」好きだよな?
お前みたいな能無しAA馬鹿はこの板に来なくていいんだよ。
嫌味にも皮肉にもならない煽り文句とか言ってる割には
必死で即レスつけてんのな。笑えるwww

>>250
preタグなんか付けたら逆にAAやりづらいんだが。
Smarty厨ってそんな当たり前のことも分からないのか・・・
デザイナーと分業(笑)とかしてるからHTML覚える必要ないんだっけ?
こういうどうしようも無い奴にWebプログラマを騙って欲しくないんだが。
Smartyどうこう言う前にお前の弱いオツムをなんとかしろやwww

252 :nobodyさん:2010/05/22(土) 19:32:56 ID:???
ほらきた

253 :nobodyさん:2010/05/22(土) 20:22:32 ID:???
>>251
また草が増えましたね。(キリッ
必死に即レス?そっくりそのまま返しますよ。(キリッ

僕はSmarty厨だからスレ見てるけど、君は何故このスレにいるんだい?(キリッ
時間の無駄じゃないかな?(キリッ
Smartyは君みたいな低級PGでも習得出来るくらい簡単なので軽く触ってごらんよ。(キリッ

254 :nobodyさん:2010/05/22(土) 20:31:24 ID:???
>>251
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      < preタグなんか付けたら逆にAAやりづらいんだが。
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄

<pre>にfont-familyなり指定するだけだよ。何がやりづらいの?あほなの?
AAはフォントに依存するので、プロポーショナルフォントを使わないで等幅+<pre>タグで処理するのが一番楽だよ。
知ったか乙です。

255 :nobodyさん:2010/05/22(土) 22:09:07 ID:???
>>253
趣味でWebやってるSmarty厨乙ですw
こんな糞スレに見てもお互い時間の無駄だよなぁ?
分かってるならさっさとこのスレ埋めてくれよ。
自慢の即レスでw

>>254
お前はpreタグとしか言ってなかったが?
font-familyはpreタグの属性ですらないだろ。
後出しで何言ってんだお前は。

256 :nobodyさん:2010/05/22(土) 22:24:13 ID:???
>>255 font-familyがCSSプロパティって事くらい瞬時に理解できない程低脳とは思わなかったスマン。
>>250はpreタグとしか書かれていないが何がやりづらいんだい?どう書くのがやりやすいんだい?

white-space: pre 指定クラスを作るよりも手軽さでは上だと思うが。
あ、preだと正しいマークアップが云々の後出し条件はいらないからね。

257 :nobodyさん:2010/05/23(日) 01:39:05 ID:???
>>256
>font-familyがCSSプロパティって事くらい瞬時に理解できない程低脳とは思わなかったスマン。
font-familyはpreタグの属性じゃないだろ。
cssのプロパティってわざわざ書かないといけないか?
くだらないことに突っ込むな低脳。
まともに日本語理解できないよな馬鹿がWebプログラミングとか笑わせてくれる。

>preタグとしか書かれていないが何がやりづらいんだい?どう書くのがやりやすいんだい?
preタグ内に一般的な掲示板で張り付けられてるようなAA書いたらずれるだろ。
マジで下らねぇことに突っ込むな低脳。

258 :nobodyさん:2010/05/23(日) 01:56:42 ID:UAgciFgz
「ここ『する』から『します』に変えといて」
って依頼をPGが修正するのか・・・胸が熱くなるな

259 :nobodyさん:2010/05/23(日) 04:11:55 ID:???
>>font-familyがCSSプロパティって事くらい瞬時に理解できない程低脳とは思わなかったスマン。
>font-familyはpreタグの属性じゃないだろ。
>cssのプロパティってわざわざ書かないといけないか?

「font-familyはpreタグの属性じゃないだろ。」って君が言うから、
「CSSのプロパティだよ。それすら説明しないと理解出来ないの?」って事だよ。
お前こそ日本語大丈夫?そもそもどこに「属性」なんて書いてあるの?

会話の中で「○○タグにfont-family指定して」って言われたら、
「font-familyは属性じゃありません!」って答えるのかお前は・・・低脳極まりねぇな・・・。

>preタグ内に一般的な掲示板で張り付けられてるようなAA書いたらずれるだろ。

AAは基本的にフォント依存でありpreタグで囲ったところでスペースと改行の扱いが変わる程度。
ずれるずれないはpreタグの問題では無いし、一般的にはwhite-space:pre; を指定する。
(お前の一般的が何を指しているかは知らんがw)

具体的には何がやりづらくなるのか書いてくれよ。
まともに反論出来なくなると「くだらないことに突っ込むな低脳。」しか言わないなお前。

260 :nobodyさん:2010/05/24(月) 02:48:30 ID:???
「テンプレートもプログラムの一部」っていう時点でコンセンサスを得てないので
気持ち悪くないかと言われても・・・ってとこだな

261 :nobodyさん:2010/05/25(火) 01:54:26 ID:???
>>259
日本語でおk


262 :nobodyさん:2010/05/25(火) 09:06:32 ID:???
>>261
「<pre>タグを使うと、具体的に何がやりづらいんですか?」

263 :nobodyさん:2010/05/25(火) 10:06:05 ID:???
2ヶ月規制で書き込めない間もずっときめえ書き込みしかねえのかここはwwww

264 :nobodyさん:2010/05/25(火) 10:40:04 ID:???
いい加減、プログラム関連の板は強制IDにしてほしいねぇ
煽りと反応する人を両方騙ればいくらでも荒らせてしまう

265 :nobodyさん:2010/05/25(火) 11:13:58 ID:???
ここの人はマヂっぽいけどな

266 :EM114-48-200-43.pool.e-mobile.ne.jp:2010/05/25(火) 11:59:24 ID:???
>>264
お前そんなこと書くならIP出せよクズか貴様

267 :nobodyさん:2010/05/25(火) 12:44:04 ID:???
言い合ってる人たちは何のために戦ってるの?

268 :nobodyさん:2010/05/25(火) 12:51:38 ID:???
それを264に言ってやれ

269 :nobodyさん:2010/05/25(火) 13:08:35 ID:???
emobileのIP晒してIP出したと言い張るとはw

270 :nobodyさん:2010/05/25(火) 13:21:52 ID:???
お前は何を言ってるんだ

271 :nobodyさん:2010/05/25(火) 13:49:11 ID:???
お前は何を言ってるんだ(キリッ

272 :nobodyさん:2010/05/25(火) 13:56:42 ID:???
実際、荒らす奴ってのは自分はまともな振りをしてる人が多いんだよな

273 :nobodyさん:2010/05/25(火) 17:51:27 ID:???
とりあえずこのスレ書き込むときはIPなりコテハンとトリップつけてIDなり出して書き込んだほうがいいよ


274 :こうですかわかりません:2010/05/25(火) 18:38:47 ID:9AThLUKM
トリップとは?

275 :こうかなやっぱわかりません ◆r0p/Rg8RZU :2010/05/25(火) 18:39:38 ID:9AThLUKM
もう忘れたな

276 :nobodyさん:2010/05/25(火) 23:23:07 ID:???
結論:本物のプロはSmartyなんて使わない。

277 :nobodyさん:2010/05/25(火) 23:29:03 ID:???
>>276
>>273参照

278 :nobodyさん:2010/05/25(火) 23:29:09 ID:???
Smartyつかわないとかありえない
あるかないかで全然違うのに
おれはこれを使ってここまで来たんだ

279 :nobodyさん:2010/05/26(水) 00:03:12 ID:TMQUCua5
プロはこんな所でグダグダ言わない。

280 : ◆jWrIUuHcHc :2010/05/26(水) 01:45:05 ID:???
本物のプロはケースバイケースで考える。
Smartyは絶対じゃなく、所詮は手段の一つ。

使わない派の意見で、
「デザイナに汎用性の無いモノを覚えさせるのが不毛」というのがあるが、
既にSmarty知識を有しているデザイナは多い。
外部の制作会社と連携する時も、「Smarty使います」の一言である程度イメージ共有出来るのは強い。

モダンでは無いし、常に最適解とは言わないが、十二分に現役で扱えるスキルだと思う。

281 : ◆p3SzWyBlcs :2010/05/26(水) 10:10:03 ID:???
日本人が英語なんて話せなくても別に苦労はしない、日本国内で日本人としか関わらないならね
もっと広い世界の人と関わるには英語を話せたほうがいいんだよ
つっても韓国語が必要だったりフランス語が必要だったりする場合もあるから必ずしも英語が必要ってわけでもない
smartyを覚える意味はあとは言わなくても分かるよな

282 :nobodyさん:2010/05/26(水) 11:27:19 ID:???
最適解を目指したいならそもそもPHP選ばない

283 :nobodyさん:2010/05/26(水) 11:57:42 ID:???
その理屈だとjavaもpythonもperlもrubyも選ばないことになるな
CかC++で何でもやればいいと言ってるようなもの

284 :nobodyさん:2010/05/26(水) 12:28:11 ID:???
いや開発コストとかメンテナンス性も加味したうえで。

285 :nobodyさん:2010/05/26(水) 12:47:13 ID:???
昔 PHPの基礎→Pear + Smarty
今 PHPの基礎→フレームワーク

286 :nobodyさん:2010/05/26(水) 12:59:44 ID:???
Smartyにこだわる必要はない。
HTMLテンプレートライブラリという概念を理解していれば問題ないでしょ。
出来るできない何てどっちでもいいけど、出来て損はない。そんなレベル。

287 :nobodyさん:2010/05/26(水) 13:07:54 ID:???
Smartyもフレームワークも用途次第です←結論

288 :nobodyさん:2010/05/26(水) 23:03:35 ID:???
Smartyなんか4〜5年前に流行っただけで
今使ってる奴なんかいるのか?
未だに使ってるとしたらヤバイだろ?

289 :nobodyさん:2010/05/26(水) 23:15:37 ID:???
結論:Smartyは過去のもの。

290 :nobodyさん:2010/05/26(水) 23:21:31 ID:???
過去のモノ=悪いとはならんからなぁ・・・
むしろ枯れた技術が進んで採用されるケースも多々ある。

>>288
何がどうヤバイのか具体的に書けるかな?

291 :nobodyさん:2010/05/27(木) 01:23:21 ID:???
未だに古い技術にしがみついてるのがヤバイんじゃね?

292 :nobodyさん:2010/05/27(木) 01:41:51 ID:???
じゃあCとかC++とかやってるやつはヤバイな

293 :nobodyさん:2010/05/27(木) 18:04:49 ID:???
大手ポータル(ブログサイトなど)を見ると、
大抵Smarty使ってるけどな

294 :nobodyさん:2010/05/27(木) 18:48:16 ID:???
何を見てSmarty使ってるって分かるの?

295 :nobodyさん:2010/05/27(木) 21:37:32 ID:???
テンプレートの編集

296 :nobodyさん:2010/05/28(金) 00:53:34 ID:???
結局ブログのテンプレートにしか使われてないんですね。

297 :nobodyさん:2010/05/28(金) 00:59:20 ID:???
どこにもそんな事書いてないよ。頭大丈夫?

298 :nobodyさん:2010/05/28(金) 02:03:11 ID:???
>>295に書いてありますよ?

299 :nobodyさん:2010/05/28(金) 02:27:30 ID:???
296にとってはテンプレート=ブログのテンプレートなんだよ
仕方ない

300 :nobodyさん:2010/05/28(金) 02:51:15 ID:???
×・・・結局ブログのテンプレートにしか使われてないんですね。
○・・・結局ブログのテンプレートにも使われているんですね。

301 :nobodyさん:2010/05/28(金) 03:04:07 ID:???
それだと結局の意味がわからん

302 :nobodyさん:2010/05/28(金) 09:51:36 ID:???
つまり、テンプレートを他人に編集させるWebサービスには
Smartyが多く使われている、って解釈で良いだろ。

そう考えると、一概に無駄とは言えないぞ。

303 :nobodyさん:2010/05/28(金) 12:27:58 ID:???
Smartyかどうかは分からないんじゃないの?
gooブログの有料版はパスにSmartyって入ってた(今は知らない)からSmarty使ってるんだろうけどさ

304 :nobodyさん:2010/05/28(金) 12:29:43 ID:???
ここ荒らしてるアンチは自分が取り残されてて悔しいんだろう

305 :nobodyさん:2010/05/28(金) 14:31:53 ID:???
>>303
MTはSmarty使ってるけど、MT系のブログって多いからなぁ

306 :nobodyさん:2010/05/29(土) 03:14:20 ID:???
くやしいのうwwwくやしいのうwww

307 :nobodyさん:2010/05/29(土) 11:00:14 ID:???
なにが?

308 :nobodyさん:2010/05/29(土) 11:31:55 ID:???
アンチはSmartyだけじゃなく他のテンプレートエンジンもいらねーって考え方だから話にならない

309 :nobodyさん:2010/05/29(土) 11:39:56 ID:???
だったら、PHPも使わなきゃいいのにな

310 :nobodyさん:2010/05/29(土) 16:48:51 ID:???
なんだかんだ、ここまで周知された技術だと新たに学習するのは非常に楽だと思う。

Smarty3ではエラーメッセージのロケール対応とか出来たら嬉しかったなぁ、

「xxxx.tpl ××行目付近、{foreach}タグが閉じられていません → 参考リンク」
「xxxx.tpl ××行目付近、{$var|escpe}、 escpe修飾子は存在しません → 参考リンク」

とか出せたらデザイナ側からのくだらない質問は減ると思う

311 :nobodyさん:2010/05/29(土) 21:14:26 ID:???
お前らみたいに趣味でPHPやってるような奴は
どうぞ勝手にSmartyとか使ってくれて構わないが
実際にプロの現場には持ち込まないでくれよ?
あくまでも趣味の範囲内でな?

312 :nobodyさん:2010/05/29(土) 21:35:57 ID:???
             |
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
   >( c´_ゝ`)  |
            |
>( c´_ゝ`)     J
     >( c´_ゝ`)



             |
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
             |     >( c´,_ゝ`)
             |
             J   >( c´,_ゝ`)
                    >( c´,_ゝ`)

313 :nobodyさん:2010/05/30(日) 00:34:35 ID:???
プロは言語もライブラリもケースバイケースに使い分ける。
手段の選択肢を、宗教じみた個人的感情で排除する輩は、プロというよりオナニストだな。

314 :nobodyさん:2010/05/30(日) 00:35:07 ID:???
質問です。
本とか見るとSMARTYよく載ってるんでいちおう使ってみたんですけど
自分の場合デザインとかHTMLも自分でやるんですが
この場合あえてPHPとHTML分離させるSMARTYって使うメリットありますか?
まだ慣れてないってこともあると思いますが使ってみて
ファイルの管理面倒だなーとか、ちょっとこのまま使い続けていいものか
迷ったもので、同じようにデザインもやる人でSMARTY使ってる人っているでしょうか。

315 :nobodyさん:2010/05/30(日) 00:55:11 ID:???
>>314
PHPとHTMLを分離させることは必要ですが、
Smartyを使うメリットは余り無いと思います。

Smarty自体はPHP4時代に結構流行りましたが、
今はCakePHPやsymfony等の有名どころのフレームワークが
ビューの部分は生PHPにしてますので
それに習うのが現在の主流です。

316 :nobodyさん:2010/05/30(日) 00:57:26 ID:???
>>314
ファイル管理に関してはロジックとビュー分離する時点でさほど変わらないかと。
一番のメリットはテンプレートが読みやすいって事じゃないかな。

●Smartyで書いた場合
<ul>
{foreach from=$rows key=id item=row}
<li id="{$id|escape}">{$row|escape|default:"デフォルト"}</li>
{/foreach}
</ul>

●PHPで書いた場合
<ul>
<?php
foreach ($rows as $row) {
echo '<li id="' . htmlspecialchars($id) . '">' . (strlen($hoge) ? htmlspecialchars($hoge) : "デフォルト") . </li>;
}
?>
</li>





317 :nobodyさん:2010/05/30(日) 01:09:32 ID:???
>>315
>今はCakePHPやsymfony等の有名どころのフレームワークが
>ビューの部分は生PHPにしてますので
>それに習うのが現在の主流です。

単にそれぞれのFWが独自ビュークラスを用意してくれているだけで、
「推奨」されているわけでも「主流」なわけでもありません。

逆にCakePHP/symfony/ZendFW等の標準のビュークラスを使ってしまうと、
フレームワーク移行時にビューの設定や構文の最習得が必要になりますし、
それは容易ではありません。

またフレームワークとビュー関係のクラスが密結合されている場合もあり、
フレームワークのバージョンアップでビュー側にもバージョンアップが必要になる、等の弊害もあります。


枯れ果てたSmartyが未だ解説書等に見られるのは、それなりの理由があるんですよ。

318 :nobodyさん:2010/05/30(日) 02:54:46 ID:???
>>317
>単にそれぞれのFWが独自ビュークラスを用意してくれているだけで、
>「推奨」されているわけでも「主流」なわけでもありません。

CakePHPもsymfonyも独自ビュークラスなんて用意されてませんよ?

>逆にCakePHP/symfony/ZendFW等の標準のビュークラスを使ってしまうと、
>フレームワーク移行時にビューの設定や構文の最習得が必要になりますし、
>それは容易ではありません。

Smartyでビュークラスを作っても独自のライブラリに依存しているので
対して変わりありませんよ?

319 :nobodyさん:2010/05/30(日) 03:01:25 ID:???
Smartyはスマートじゃないという矛盾

320 :nobodyさん:2010/05/30(日) 03:42:42 ID:???
>318
>CakePHPもsymfonyも独自ビュークラスなんて用意されてませんよ?
Cake/symfonyで言えばヘルパーとう名でビューを扱う為のクラス/ユーティリティ群が用意されているよね。
用語の違いでしか無いよ。

>Smartyでビュークラスを作っても独自のライブラリに依存している
密結合と疎結合って言葉知ってる?
フレームワークに内包されるヘルパーは密結合。

アダプタパターンって知ってる?
Smarty本体がアダプタとして動いてくれるから、
フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、ビュー側のスクリプトには何ら影響は無い。

321 :nobodyさん:2010/05/30(日) 10:19:41 ID:???
で、お前らデリミタタグは何にしてるの?

322 :314:2010/05/30(日) 12:59:55 ID:???
>>321
{{ }}やー。

>>315−319
ありがとうございます。
勉強になりました。。
フレームワークとSMARTY組み合わせてもいいわけなんですよねー。
SMARTYはざっくりですが覚えたんで実用でもせっかくなんで使ってみたいと思います。
とりあえず今度フォーム系でなんか機械があったら使ってみる。

323 :nobodyさん:2010/05/30(日) 16:24:53 ID:???
>>321
<{ }>

324 :nobodyさん:2010/05/30(日) 18:42:49 ID:???
>>320
>密結合と疎結合って言葉知ってる?
>フレームワークに内包されるヘルパーは密結合。

そんな密結合になっているフレームワークのヘルパーを
ワザワザ引き剥がしてまでSmartyを使う必要ってあるんですかねぇ。

>アダプタパターンって知ってる?
>Smarty本体がアダプタとして動いてくれるから、
>フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、
>ビュー側のスクリプトには何ら影響は無い。

アダプタパターンは使わないと思いますけど(笑

325 :nobodyさん:2010/05/30(日) 19:54:31 ID:???
顔真っ赤になってレスしてるんだろ?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
自分だけsmarty使えないからって2ちゃんで同意を求めに来てるんだよなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

326 :nobodyさん:2010/05/30(日) 21:35:58 ID:???
>>325
信者ならsmartyじゃなくてSmartyって書けよ。

327 :nobodyさん:2010/05/30(日) 22:29:27 ID:???
>>324
>ワザワザ引き剥がしてまでSmartyを使う必要ってあるんですかねぇ。

上に書いてあるだろ、
・フレームワーク別にヘルパーを覚える必要がある
・フレームワーク自体のアップデートがビュー側に影響を与える恐れがある
というデメリットもあるってこった。

趣味プログラマにはいいかもしれんが、
開発人数が増えれば増えるほど、このデメリットは如実になる。

>アダプタパターンは使わないと思いますけど(笑

そりゃ君が無能だからだろ(笑)
Smarty使わないにしろ、ビュー用のインターフェースは別途用意しておいて、
各ビュースクリプトとのアダプタを作るのが、君の好きなモダンフレームワーク実装。

328 :nobodyさん:2010/05/30(日) 22:51:31 ID:???
そもそも開発人数増えて規模が大きくなる前提なら
デザイナにテンプレート触らせるとかまずありえない。

329 :nobodyさん:2010/05/30(日) 23:54:10 ID:???
>>327
>上に書いてあるだろ、
>・フレームワーク別にヘルパーを覚える必要がある
>・フレームワーク自体のアップデートがビュー側に影響を与える恐れがある
>というデメリットもあるってこった。

フルスタックのフレームワークに無理やり
外部のテンプレートエンジンをねじ込むんですか?
フレームワークの思想をまるっきり無視って訳ですね。

あと、フレームワークのビューには変更が入るかもしれないけど
Smartyのインターフェイスには変更が入らないという前提で
物を言ってません君?随分と都合のいい話ですね。

>趣味プログラマにはいいかもしれんが、
>開発人数が増えれば増えるほど、このデメリットは如実になる。

趣味でやってるのではないのなら尚更
Smartyなんていう外部ライブラリを使わない方がいいんじゃないですか?
君はSmartyは誰でも知っているみたいな言い方してますけど
誰もが知ってるわけじゃないし、人によっては好みもあるでしょ?
ま、私は全くもって好みじゃないですが。

>そりゃ君が無能だからだろ(笑)
>Smarty使わないにしろ、ビュー用のインターフェースは別途用意しておいて、
>各ビュースクリプトとのアダプタを作るのが、君の好きなモダンフレームワーク実装。

無能ですか?そうですか。
私が例にあげたCakePHPにもsymfonyにも
アダプタパターンは合わないと思いますけど。
そんなに自分が有能なのならコード書いてもらえません?
多分できないと思うけど(笑

330 :nobodyさん:2010/05/30(日) 23:56:24 ID:???
>>328
ホントそうですよね。
普通の開発じゃ考えられないようなこと言ってますよねここの人達。
しかもそれを正当化。笑い話にもならないっつーの。

331 :nobodyさん:2010/05/31(月) 00:47:08 ID:???
>君はSmartyは誰でも知っているみたいな言い方してますけど
>誰もが知ってるわけじゃないし、人によっては好みもあるでしょ?

ここがSmartyスレだって事忘れてない?w
好みの問題を持ち出すなら、それこそSmartyスレ見なければいいんじゃないの。

>フレームワークの思想をまるっきり無視って訳ですね。

思想?どこにそんな事書いてあるの?
ZF、symfony、cakeはなんら問題無く外部ビュースクリプトを載せられるようになっているし、
ZFに至っては疎結合をウリにしているけどな。


>あと、フレームワークのビューには変更が入るかもしれないけど
>Smartyのインターフェイスには変更が入らないという前提で

Smartyに機能追加があろうが、フレームワーク自体を変更しようが
テンプレート側がその変更を意識する必要は無い。
Smarty自体がアダプタの役割も担うから。

もちろん他のFWでも独自にビュークラスを作ってやれば吸収出来るんだろうけど、
それは車輪の再発明ってやつだ。

332 :nobodyさん:2010/05/31(月) 01:11:46 ID:???
知名度云々言ってる奴は池沼か?
使う使わないは別にして、PHP触ってるけどSmarty知らないなんて恥ずべきだよ。

http://www.google.co.jp/trends?q=Smarty%2C+CakePHP%2C+Symfony%2C+Zend+Framework%2CTwig

モダン思想のオナニスト達は、Web2.0とかクラウドって言葉にも踊らされてるんだろうなぁ。笑える。

333 :nobodyさん:2010/05/31(月) 01:52:49 ID:???
何でSmarty知らないと恥ずかしいの?
Smarty以外でもHTMLテンプレートエンジンは色々あるわけだし、
それにこだわる必要なんてないと思うけど。

Smartyの利点は枯れたライブラリで多くの使用実績があるのと、
>>332が言っている通りの知名度。
後発ライブラリはそれ以上のメリットもあったりするわけだから、
状況によって使い分けるべきで、フレームワーク云々の話がでるのは筋違い。

334 :nobodyさん:2010/05/31(月) 05:05:52 ID:???
営業会議の場でも普通にSmartyって言葉が使われる程認知されているのに、
Smarty知らないんじゃ恥ずかしいだろうよ。
現役かどうかは知らんが、Smartyの普及率は相当なものだ。

もちろんSmarty以外を使うのも有りだと思うし、
その場合はSmartyと比較してこんなメリットがあるんですよ。
って言える方が賢いと思うのよ。

今の子達は、頭ごなしにSmartyが駄目駄目言ってるだけで、
具体的に何が駄目で、どう改善すればいいのか、って案も無いみたいだし。
話しすすまんなぁ


335 :nobodyさん:2010/05/31(月) 05:08:07 ID:???
抜けちゃったけど、

Smatry牙城を崩したいのであれば、
とりあえずSmartyを覚えて、他の技術とのメリットデメリットを提示するべきだと思うよ。

俺個人としては、新しい何かは好きなので触る価値があると思えば乗り換えるよ。

336 :nobodyさん:2010/05/31(月) 10:22:49 ID:???
>Smatry牙城を崩したいのであれば

最初からSmarty牙城なんてなかった
メリットデメリット言う前に、使われてないし、これからも使われることはない
それがアンチの考えだから

337 :nobodyさん:2010/05/31(月) 10:32:45 ID:???
でもスレには来るという謎さ

338 :nobodyさん:2010/05/31(月) 11:30:05 ID:???
アンチはコテハン付けてくれ

339 :nobodyさん:2010/05/31(月) 16:36:38 ID:???
とりあえず、Top 25 PHP template enginesってタイトルで
いの一番にとりあげられてるという事実があるわけで・・・

リンク先は消えてたんで、それを紹介した日本語のページを
ttp://gigazine.net/index.php?/news/comments/20060803_php_template_engine/

340 :nobodyさん:2010/05/31(月) 18:46:06 ID:???
2006年か・・・

341 :nobodyさん:2010/05/31(月) 19:50:42 ID:???
2006年の時点で既にメジャーだったって事でしょ。
それなのに知名度云々言ってるのは、素人としか思えない。

最近はPEARもFWに食われて目にしなくなったけど、
使えば便利なケースは多々あるし、手段として身につけておいても損は無い。
Smartyもそんな感じだと思うよ。

342 :nobodyさん:2010/05/31(月) 22:02:08 ID:???
アンチうぜえなお前らPHPくだ質のチンピラかOCNだろ

343 :nobodyさん:2010/05/31(月) 22:33:33 ID:???
>>331
面倒なので手短に・・
フルスタックのFWに無理やりビューという大きな外部ライブラリを
ねじ込まないで下さい。
あと、アダプタパターンは無いわ(笑

344 :nobodyさん:2010/05/31(月) 22:37:25 ID:???
>>343
無いのはお前の頭だろw
興味無いならCakeスレでなれ合ってろよw

345 :nobodyさん:2010/05/31(月) 22:52:15 ID:???
フルスタック(笑)

Symfony2からは低レベルの枠組みはフルスタックで提供するが、
外部ライブラリを積極的に採用する方針に変わるけどね。
http://www.symfony-project.org/blog/2010/03/04/symfony-2-0-and-the-php-ecosystem

流行り廃りで言えばフルスタック自体が廃りだよ。
フルスタックFWを学習する事は、Smarty以上にコストがかかる上に、Smarty以上に将来性が無い。

アンチはRoRに毒されたCake厨が多いのかねぇ。
シコシコ独自の設定ファイルでも量産してろよ(笑

346 :nobodyさん:2010/06/01(火) 00:11:09 ID:???
>>344
アダプタパターン最近覚えたのかな?
Gofの基礎中の基礎だからね。
でもアダプタパターンは無いわ(笑

>>345
君はフルスタックの意味とアダプタパターン(笑)の使いどころが
よく理解できてないみたいだからもう書き込まない方がいいよ。
能無しがバレますよ?
大人しくSmartyの勉強でもしてなさいっ!

347 :nobodyさん:2010/06/01(火) 00:52:04 ID:???
別に他スレでしつこくSmartyの話をしている奴が
いるわけでもないと思うし
皆このスレで「大人しく」していると思うんだけど
なにをしにこのスレに?

348 :nobodyさん:2010/06/01(火) 02:20:16 ID:???
>>346
アダプタパターンは基底パターンみたいなもんだが、
君はアダプタが全く適用されないコードを書いてるのかい?
フルスタックという言葉に拘りがあるみたいだけど、君こそ言葉遊びしたいだけじゃないの?(笑

Smartyすら理解できない頭じゃ無理も無いが、
大人しくCakeをBakeしてればいいんじゃないかな?

349 :nobodyさん:2010/06/03(木) 00:05:24 ID:???
>>348
アダプタパターンっていうのはアダプティとなるクラス(Smarty)と
ターゲットとなるクラスが比較的近いインターフェイスでないと機能しないんけど、
SmartyのようなテンプレートエンジンとCakePHPやsymfonyのような
生PHP+ヘルパ関数のビューをどのようにアダプタパターンで繋げるんですか?

ま、デザパタ覚えたので言葉を使ってみたかっただけかもしれないけど、
言うほど経験も知識も無いんだから、もうちょっと頑張りなさい。

350 :nobodyさん:2010/06/03(木) 00:41:09 ID:???
>>349
>生PHP+ヘルパ関数のビューをどのようにアダプタパターンで繋げるんですか?
ん?それは実装の前提が違くないかい?
フレームワークとSmartyを繋ぐ事が目的じゃなくて、フレームワークとテンプレートを繋ぐことが目的で、
共通のテンプレート構文を使う為のアダプタって事だよ。

CakePHP > CakeSmartyAdapter > template
symfony > sfSmartyAdapter > template
ZendFW > ZendSmartyAdapter > template

CakePHP / symfony / Zend等フレームワーク固有のViewやヘルパ関数を使うと、
templateがフレームワークに依存するよね(当然メリットもあるけど)
だから、疎結合なViewクラスを挟むのもいいんじゃね?って話だが。

351 :nobodyさん:2010/06/03(木) 00:50:20 ID:???
>>350の言う事で決着じゃん。
テンプレートがフレームワーク依存するのが嫌ならSmarty使えばいい。
使い分けるってこと出来ないの?

352 :nobodyさん:2010/06/03(木) 02:11:21 ID:???
Zend <?php echo $this->escape($val); ?>
Cake <?php echo h($val); ?>
Symfony <?php echo $sf_data->get('hoge'); ?>

テンプレートも弄る自分的には、エスケープ一つでここまで構文が違うのは辛い。
手放せないほど便利な固有ヘルパーがあるわけでもないから、FW固有の方言やノウハウを学ぶ意欲も続かない。
そんな理由でSmartyを手放せずにいる。

353 :nobodyさん:2010/06/04(金) 18:43:09 ID:???
>>352
学習意欲も無いのに高性能なものを無理して使うことは無いな。
Smartyで済む人は騒ぎ立てずにSmartyを使い続ければいいと思う。

>>350
Smartyと生PHPを「構文の差」として解釈してる時点で頓珍漢だと思う。

hogeFW > hogeSmartyAdapter > smarty構文のtemplate
hogeFW > php構文のtemplate

だから、Apapterパターンにはなり得ない、という話だと思うけど。

354 :nobodyさん:2010/06/04(金) 20:38:49 ID:???
>>353
>Smartyと生PHPを「構文の差」として解釈してる時点で頓珍漢だと思う。
論点が変わってるね。Smartyと生PHPの話じゃなくて、
>>352が書いているように「テンプレートとしての構文の差」を無くす為にアダプタをかまそうって話だよ。

生PHPのみで例えるなら、CakeのテンプレートをZendFWで使おうとした場合、
Cake・・・<?php echo h($val); ?>
ZendFW・・・<?php echo $this->escape($val); ?>
という「構文の差」が生まれるよね。
でもZendFW側に h() を $this->escape() に橋渡しするアダプタを作ってやれば、
テンプレート構文の差は埋まり、共通のテンプレートが使えるようになるね。

CakeのテンプレートをZendFWで使おうなんて考えは頓珍漢だと思うよね。
でも別にCakeのテンプレートをZendFWで使う事が目的じゃないからね。
「FWに依存しない共通のテンプレート」が使えればSmartyだろうが生PHPだろうが構わないんだ。

>>350 はtemplateに対するAdapterパターンでFA。
Smatyスレで必死にSmartyを批判してる君も十分頓珍漢だと思うよw

355 :nobodyさん:2010/06/04(金) 20:46:52 ID:???
> 「FWに依存しない共通のテンプレート」が使えればSmartyだろうが生PHPだろうが構わないんだ。

論旨が意味不明だな。
だったらSmarty要らないじゃん。

> Smatyスレで必死にSmartyを批判してる君も十分頓珍漢だと思うよw

Smartyスレで必死に頓珍漢なフレームワーク叩きをして、
スレが荒れる原因を作っているほうがよっぽどスレには不利益だと思うけどな。

356 :nobodyさん:2010/06/04(金) 21:05:18 ID:???
>>355
>>「FWに依存しない共通のテンプレート」が使えればSmartyだろうが生PHPだろうが構わないんだ。
>論旨が意味不明だな。だったらSmarty要らないじゃん。

うん。だからSmartyじゃなくてもいいんだよ。
何が意味不明なんだい?
君は「FWに依存しない共通のテンプレート」を実現したい場合、どうするのが良いと思う?

俺は生PHPを使ってhtmlspecialchars()とか毎回書くのはだるいし、
変数を一括エスケープしたり、テンプレートディレクトリを精査したり等の機能が欲しいから、
何らかのライブラリは必要だと思うよ。
でも、そんなの作るの面倒だからSmartyを使うけどね。


>Smartyスレで必死に頓珍漢なフレームワーク叩きをして、
誰も叩いてないよw
フレームワーク至上主義者がSmarty批判してブーメラン浴びてるだけの話だろw

357 :nobodyさん:2010/06/04(金) 21:11:42 ID:???
ここまでの流れ

Smarty(テンプレートエンジン)否定派が沸く

Smarty派は使う事のメリットを提示する

否定派はメリットを絶対に認めずデメリットのみを主張

Smarty派は使わない事のデメリットも提示する

否定派ファビョル


PythonとかRubyを使っているモダンオナニストがPHPを否定しているような状況に似ているな。
所詮は道具なのに、なぜ使い分けが出来ない?

358 :nobodyさん:2010/06/05(土) 19:41:11 ID:???
>>355
>>354, >>356←こいつは前から一貫して意味不明なことをホザくので
俺も対応に苦慮してる。
デザパタとかFWの理解がまったくもってなってないので
話がまったく通じない。
精神異常者と話すってこういうことなんだと思った。

359 :nobodyさん:2010/06/05(土) 19:44:44 ID:???
>>355
認識の違いって怖いですよね。

否定派がSmartyを使うことのデメリットを提示する

Smarty厨が必死に抵抗(しかも意味不明)

否定派が冷静にツッコミを入れる。

Smarty厨ファビョル

360 :nobodyさん:2010/06/05(土) 20:36:03 ID:???
そんな複数人に見せかけなくても

361 :nobodyさん:2010/06/05(土) 20:36:44 ID:???
>>357の間違いな

362 :nobodyさん:2010/06/06(日) 02:37:31 ID:???
>>356
> 君は「FWに依存しない共通のテンプレート」を実現したい場合、どうするのが良いと思う?

フレームワークの仕様にあわせて導入するのが良いと思うけど。

> 何らかのライブラリは必要だと思うよ。
> でも、そんなの作るの面倒だからSmartyを使うけどね。

別にそれでもいいと思うけど。

それがどうして>>350みたいなアダプタになるの?

> ここがSmartyスレだって事忘れてない?w
> Smarty自体がアダプタの役割も担うから。
> アダプタパターンって知ってる?
> Smarty本体がアダプタとして動いてくれるから、
> フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、ビュー側のスクリプトには何ら影響は無い。

と言っていた過去の発言とも矛盾してるでしょ。
「Smartyにはアダプタとしての機能があるからフレームワークで提供されたテンプレートより良いんだ」
というのが君の主張だったんだから、しっかり責任を持って発言してくれないと。

363 :nobodyさん:2010/06/06(日) 20:23:12 ID:???
>> 君は「FWに依存しない共通のテンプレート」を実現したい場合、どうするのが良いと思う?
>フレームワークの仕様にあわせて導入するのが良いと思うけど。

質問の答えになって無いよ。
ムキになって反論してるだけじゃないなら、簡潔でいいから具体案を出してくれよ?
例えばcakeとsymfonyで同じtemplateを使用するという要件を満たす場合どうするの?

>それがどうして>>350みたいなアダプタになるの?
>「Smartyにはアダプタとしての機能があるからフレームワークで提供されたテンプレートより良い」

「FWに依存しない共通のテンプレート」という要件を踏まえた上で、
>>350では共通テンプレートとフレームワークを繋ぐ為のアダプタと主張してるわけだが、それは理解出来るかい?
フレームワークで提供されたテンプレートにもメリットは有ると書いてるけど、日本語は理解出来るかい?

364 :nobodyさん:2010/06/06(日) 20:36:34 ID:???
>> 362
>> ここがSmartyスレだって事忘れてない?w
>> Smarty自体がアダプタの役割も担うから。
>> アダプタパターンって知ってる?
>> Smarty本体がアダプタとして動いてくれるから、
>> フレームワークのバージョンを変えようが、フレームワーク自体を変えようが、ビュー側のスクリプトには何ら影響は無い。
> と言っていた過去の発言とも矛盾してるでしょ。

何がどう矛盾してるの?
Smarty自体がアダプタとして動作するし、フレームワーク自体を変えようがビュー側のスクリプトには何ら影響は無いよ。
そういうメリットを得たいならフレームワークで提供されたテンプレートより良いと思うし、
そういうメリットを見いだせないなら別にSmartyはいらんよって話なんだが。

メリットを受ける為の前提となる要件を無視して、矛盾云々言われてもなぁ。
君の頭が固いだけだよ。それもフレームワーク依存脳かい?

365 :nobodyさん:2010/06/06(日) 21:55:24 ID:???
>>364
餌与えるな馬鹿

366 :nobodyさん:2010/06/06(日) 22:13:20 ID:???
実際のところフレームワークにSmartyをかませると、速さ的にどう?
やっぱり結構表示速度遅くなっちゃうかな?

367 :nobodyさん:2010/06/07(月) 00:02:00 ID:???
>>364
また訳の分からないことを言い始めたよこのアホは。
デザパタのアダプタパターンのことを言ってるかと思ったら
Smarty自体がアダプタとか・・・

368 :nobodyさん:2010/06/07(月) 00:13:50 ID:???
お前からみたらこのスレにはアホしかいないんだろうから
相手しなければいいのに
わざわざやって来て書き込むのをやめられないというのは
なんか精神的な病か?

369 :nobodyさん:2010/06/07(月) 00:43:00 ID:???
フレームワーク使ってる時点で重くなってるから、影響はあまり考えなくて良いんじゃないかなぁ
Smartyと組み合わせるってのは考えた事も無いわ
フレームワーク側が持ってるキャッシュ機構とか使いにくくなるかもしれないし
ヘルパーも用意されてるし

誰かやった事ある?

370 :nobodyさん:2010/06/07(月) 01:20:48 ID:???
>>366
フレームワークの基本処理に比べたら超が付くほど軽いよ。
ここ数年のサーバ+PHP5環境でSmartyに置き換えただけで、体感出来るような事はまず無い。

>>367
アダプタパターンでいう所のアダプタって意味だろ。
あとデザパタって略し方はアホっぽいからやめた方がいいよw

>>368
自分より格下だと思い込んだ相手には延々語る知ったかPGっているよね。
一種のメサイアコンプレックスだよ。


371 :nobodyさん:2010/06/07(月) 01:41:39 ID:???
>>369
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に置き換えたところで体感速度は変わらないと思う

372 :nobodyさん:2010/06/07(月) 03:34:11 ID:???
>>363-364
> 簡潔でいいから具体案を出してくれよ?
> 例えばcakeとsymfonyで同じtemplateを使用するという要件を満たす場合どうするの?

Smarty View Class と sfSmartyViewPlugin を使う。
フレームワークにあわせた個別の方法で、
Smarty本体以外のライブラリを導入して、Smartyを利用可能にするわけだ。

・これはアダプタパターンではない
・Smartyだけではフレームワークに組み込んで使う事ができない

という点で、お前の主張は間違っているから、
間違った主張から導き出そうとしている答えも間違っている。

> Smarty自体がアダプタとして動作する

きちんと説明したのだから、きちんとした反論をして貰うよ。
「cakeとsymfonyでSmarty自体をアダプタとして動作させる」方法を説明してくれ。

373 :nobodyさん:2010/06/07(月) 03:48:28 ID:???
>>371
なんかベンチという割に説明や数値が曖昧だな。

経験則で言っていいなら、まともなアプリで最も重いのはORMだ。
次がDBとテンプレートで、その次が設定ファイル。
DBにセッションを入れてるとか、RDBで無茶なORMの使い方をしているとか、
アプリのつくりがまともじゃないケースでは、Viewの差は取るに足らないだろうね。

十分に適切なアプリなら、応答時間に占めるテンプレート処理の割合はもっと高いはず。
少なくとも1/3から半分くらいだ。

なので、「速さを求める時にはテンプレートエンジンは避けたほうが良い」というのは、
生PHPとSmartyの比較と同程度に考えておいたほうが安全だと思うけど、
「速さをさほど求めない場合に気になるほどの遅さでもない」と思う。
50ミリ秒が100ミリ秒になっても別に困らないというケースも往々にしてあるわけで。

374 :nobodyさん:2010/06/07(月) 04:04:55 ID:???
>>372
>Smarty View Class と sfSmartyViewPlugin を使う。
>フレームワークにあわせた個別の方法で、
>Smarty本体以外のライブラリを導入して、Smartyを利用可能にするわけだ。

お前はその「Smarty本体以外のライブラリ」の実装を読んだか?
インスタンス又は継承によるアダプタパターンだろ。
クラス名が異なっているが >>350 で書いてあるのと全く同じアプローチだよ。
継承によるアダプタパターン。

>・これはアダプタパターンではない
>・Smartyだけではフレームワークに組み込んで使う事ができない
という結論が間違ってるので論外です。
君はデザインパターンを応用する事が出来ない様ですね。

>「cakeとsymfonyでSmarty自体をアダプタとして動作させる」方法を説明してくれ。
>>350に書いてあるが?Smatyを継承したアダプタクラスを挟むだけですよ?
CakePHP > CakeSmartyAdapter > template
symfony > sfSmartyAdapter > template


375 :nobodyさん:2010/06/07(月) 04:13:16 ID:???
>>373
経験則で言っていいのなら、
管理画面はまだしも表向き表示で重さを気にするシステムにORMは極力使わない。
良くてコントローラ&モデル処理が8割、ビューは2割ってとこだろ。
反論あるならお前さんも、ステップ単位で処理時間をベンチとってくれや。
そしたら俺のベンチも詳細上げてやるよ。

ケースバイケースな結果になると思うが、
俺は実際動かしてSmartyとZend_Viewは大差無いという結論を出したのみ。
比較対象が生PHPなら遅いかもしれんが、FWに組み込むという意味では体感はかわらん。


376 :nobodyさん:2010/06/07(月) 04:14:46 ID:???
>>374
オープンソースライブラリの具体名を挙げてるんだから、
実際にソースを読んでみればいいのに。

それと、
「Smarty自体をアダプタとして動作させる」と
「Smatyを継承したアダプタクラスを挟む」って、意味がまったく違うだろ。

具体的にアダプタクラスとは何か、きちんと説明してみ。
自分の矛盾に気づくから。

377 :nobodyさん:2010/06/07(月) 04:27:34 ID:???
>>372
>・これはアダプタパターンではない
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とか言ってる時点で駄目なにおいはぷんぷんするが。

378 :nobodyさん:2010/06/07(月) 04:40:44 ID:???
>>376
お前さ「Smartyをアダプタにすればテンプレート共通化出来るよね」って言われて
「Smarty自体をアダプタとして動作させるのと、Smatyを継承したアダプタクラスを挟むって意味が全く違うだろ」
とか見当違いのツッコミするん?w

Smartyをアダプタとして使うって時点で普通、継承なり委譲なりのラッパークラスを想像すると思うが
・・・>>350の例を見ても理解出来ないレベルなんか?・・・あまりに知識が無いのか、発想が貧弱なのか
・・・なんとなく君のレベルが見えて来たよw

誰も救われないから、大人しくcakeスレでシコシコbakeして設定ファイル量産してろよw

379 :nobodyさん:2010/06/07(月) 06:25:22 ID:???
いつまで不毛な争いしてるんだか…
Smartyは内部でrequireしまくってるからけっこう重たかったな。
拡張モジュールで作られてるsimplateってやつはめっちゃ速かった。当然そこまで高機能ではないけどね。

380 :nobodyさん:2010/06/07(月) 18:29:58 ID:???
確かに不毛だな。
実行環境(CPU/ネットワーク)自体の高速化と、フレームワークの肥大化によって、Smarty自体は相対的に軽いものになってしまった。
メリットデメリットはケースバイケースなのでひとくくりには出来ないし、
現場の知識や、制作者の好みで導入すればいいよ。

FWとSmartyどっちが良いか?両方メリットはあるよ。
FWとSmartyどっちが悪いか?両方デメリットはあるよ。

終結

381 :nobodyさん:2010/06/07(月) 18:50:46 ID:???
メリットデメリットとかじゃなくて、Smartyを根絶やしにしたいだけだから

382 :nobodyさん:2010/06/07(月) 18:59:54 ID:???
だからどういう目に遭ったらそんな深い憎しみを抱くんだよw

383 :nobodyさん:2010/06/07(月) 19:54:08 ID:???
>>378
それは後だしジャンケンだな。

その屁理屈が成り立つなら、
「symfonyのテンプレートエンジンはアダプタである」とも言えるわけで、
「symfonyのテンプレートエンジンをcakeで使う」事も、
「symfonyのテンプレートエンジン自身がアダプタとして動作する」から、
まったく問題ないことになるじゃん。

Smartyとフレームワーク内蔵のテンプレートエンジンを比較して、
Smartyが有利であると主張していたはずなのに、
その根拠が、自分の屁理屈によって無くなってしまっているんだよ。
だから、間違った主張から導き出された答えが間違ってるよ、と指摘したんだけどな。

議論に勝ちたいからか知らんけど、自分の主張をころころ変えるから、
まわりから見てまったく意味不明になるんだと思うよ。

あと、cakeじゃなくてCakePHPだろ、といいたいのかも知れないけど、
最初にcakeという表現をしたのは>>363だろ・・・。
俺は別に意味が伝わってるからどっちでもいいけど、墓穴掘るのはだいぶ恥ずかしいぞ。

384 :nobodyさん:2010/06/07(月) 20:03:12 ID:???
何言ってんだこいつ

385 :nobodyさん:2010/06/07(月) 20:21:44 ID:???
このスレを見ていて思うことだが、
「Smarty否定論者がSmartyを叩く書き込みをする」のと、
「Smarty信者が特に優位性の無い部分でSmartyを絶賛する」のは、
同じくらいスレにとって害悪だよ。

極端に言えば、Smartyに利点がひとつも無くたっていいじゃん。
間違った理屈で絶賛しても否定されるだけなのは当然だよね。
それなのに、なんでわざわざ、絶賛して否定される流れを作り出してるの?

それが単に絶賛してる人の知識不足に過ぎなくて、
「それは間違っているよ」と指摘されたら受け止めるというならわかるけど、
意固地になっておかしな主張を続けるもんだからまったく意義が無い。

劣っていようがなんだろうが、Smartyは現存していて、
実際に使っているユーザがいるんだから、その情報交換をすればいいのに。

現に、少なくとも客観的な表現で、
「Smartyと別のもののどっちがいいだろう?」
と質問している場合は、スレは荒れてないじゃん。心がけの問題だと思う。

386 :nobodyさん:2010/06/07(月) 20:22:40 ID:???
あまりにもアホすぎてかける言葉も見つからんわ。
ガキのケンカは他所でやれ。

387 :nobodyさん:2010/06/07(月) 20:57:11 ID:???
>>383
主題を変えてるのはお前だよ(都合の悪い具体的な質問はスルーだし)
君こそ論破が目的になってないかい?

>「symfonyのテンプレートエンジンはアダプタである」とも言えるわけで、
>「symfonyのテンプレートエンジンをcakeで使う」事も、
>「symfonyのテンプレートエンジン自身がアダプタとして動作する」から、

「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。
symfonyとテンプレート構文を繋ぐ為のアダプタである、という意味であれば間違いではないが、
異なるフレームワークとテンプレート構文を介するアダプタである、という意味では無理がある。

議論の発端は、
フレームワークに密結合されたテンプレートエンジンを、
他のフレームワークで使うのは困難だから疎結合のSmartyをって話だろ。
何で密結合のもので例えてるの?
symfonyじゃなくてTwigとかsimplateに置き換えれば問題無いよ。

>Smartyとフレームワーク内蔵のテンプレートエンジンを比較して、
>Smartyが有利であると主張していたはずなのに

何度も書いてるが「共通のテンプレート」という要件の下に、
Smartyのメリットを主張してるだけで、全てにおいてSmartyが勝ってる等誰も言ってないよ。

>あと、cakeじゃなくてCakePHPだろ、といいたいのかも知れないけど、
違うよw 必死にSmartyを過去のモノにしたり、無駄知識と認定したいらしいが、
cakeも所詮はPHP4実装のレガシーフレームワークな上に、
Smarty以上に無駄知識が必要な設定ファイルが必要だよね。必死にbakeってれば?って事

いいからマズイケーキでも焼いてろよ。

388 :nobodyさん:2010/06/07(月) 21:25:03 ID:???
>>380 で結論出てるじゃん。プロならケースバイケースで使い分ける。
>>383 有益な情報を得たいならまだしも、Smartyに興味も無く批判したいだけなら、他のスレに行けばいい。ここはSmartyスレ。

389 :nobodyさん:2010/06/07(月) 21:53:18 ID:???
ふと読み返してみた。

>>314 Smartyを使うメリットってありますか?
>>315 フレームワークが生PHPなので、生PHPが主流だよ
>>317 フレームワークに依存しないSmartyが有利な面もあるよ
>>318 >>317を否定
>>320 疎結合のメリットもあるよ
>>324 疎結合より、フレームワークなら密結合の方が良いよ
>>327 密結合にもデメリットはあるよ
>>329 フレームワークの方が優れているよ。Smartyなんて誰もが知ってるわけでは無いし、使わない方がいいよ。

以下ループ(不毛なので読み返してない)

>>329 がフレームワーク至上主義かつSmarty批判が目的だったのが発端だな。
Smartyを使うメリットは?って話だったのに、1人だけ議論がフレームワークの優位性の話になっている。

390 :4=353=385:2010/06/07(月) 22:18:39 ID:???
俺はSmartyの組み込まれたソフトも使って儲けてます。

>>387
> 「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。

その根拠は?
疎結合なsfTemplateEngineなら成り立つって解釈ではないのか?

>>387-388
「Smartyマンセー発言にレスした奴はみんな工作員だ!」
みたいな物言いをして、やれレベルがどうだcakeの悪口だと下らん批判に終始して、
自分たちとSmartyは絶対に正義なんだ、みたいな主張をしていること自体が、
カルト宗教ばりの気持ち悪さを醸し出していて、
かえってよくない結果を生んでいる事に気づいたほうがいいと思うよ。

>>329
その説明も事実とは誤っていると思う。お前の自意識と解釈はわかったけど。

391 :nobodyさん:2010/06/07(月) 22:22:15 ID:???
頼むから喧嘩するな

392 :nobodyさん:2010/06/07(月) 22:47:33 ID:???
>>314-329に対しての意見も述べておこう。

フレームワークに搭載されているテンプレートエンジンには、
密結合なものだけではなく、疎結合なものもある。
すべて密結合だと断定するのは間違い。

Smartyをフレームワークで使うには、連携のための処理を追加する必要がある。
これらの処理はフレームワークに依存する。
Smarty自体が自動的に連携をおこなうわけではないし、
Smarty公式がフレームワーク毎の連携ライブラリを提供しているわけでもない。

なので、フレームワークのバージョンアップによって、
上記の追加処理に変更が必要になる場合も当然に存在する。

ゆえに、
「テンプレートとしての構文の差を無くす為にSmartyが優れている」
という根拠は存在しない。

昔Smartyを使っていた人が惰性でSmartyを使い続ける事に対しては俺は異論は無い。
特に昔有名になった定番アプリみたいなやつにはSmartyが使い続けられているよね。
これをわざわざ新しいものにリプレースする必要は、個人的には感じていない。

だけど、トンデモ信者がやってきて、フレームワークでSmartyを使えとのたまうのは嫌だ。
フレームワークとSmartyは、親和性がすこぶる悪いからね。
やったことも無い人が「Smarty自体がアダプタになります(キリッ」とか言うのを見たら、
さすがに突っ込みも入れたくなるというものだわ・・・。

393 :nobodyさん:2010/06/07(月) 23:57:04 ID:???
>>390
> 「symfonyのテンプレートエンジンはアダプタである」が成り立たないよ。
>その根拠は?疎結合なsfTemplateEngineなら成り立つって解釈ではないのか?

symfony を sfTemplateEngine に書き換えればえれば成り立つんじゃない?
>> 324からずっとフレームワークと密結合に拘ってるし、
Twig もあるし symfony=sfTemplateEngine という意味での発言とは思えないが。

394 :nobodyさん:2010/06/08(火) 00:08:06 ID:???
ここに今、Smarty信者の敗北が決定したのでした。
(第一部完)

395 :nobodyさん:2010/06/08(火) 01:29:56 ID:???
>>392
>フレームワークのバージョンアップによって、
>上記の追加処理に変更が必要になる場合も当然に存在する。
>ゆえに、「テンプレートとしての構文の差を無くす為にSmartyが優れている」
>という根拠は存在しない。

テンプレートエンジンとフレームワークの連携に調整が入る事もあるかもしれないが、
テンプレート構文自体に変更が入るような場面ってどんな時?
テンプレートエンジンが故意にフレームワーク依存を注入しない限り、
テンプレートがフレームワークの影響を受けることはあり得ないと思うが。

>昔Smartyを使っていた人が惰性でSmartyを使い続ける事に対しては俺は異論は無い。
惰性というより、既存リソースを捨て、学習コストをかけてまでリプレースする対象か?
と問われれば絶対にYESでは無いと思うよ。

フレームワークの機能をMVC別に区切った場合、ModelとControllerの機能だけでも十二分に便利だ。
当然Viewも包括して導入すれば、より恩恵は増すと思う。

でも >>352 にも書いた通りフレームワークと一緒に毎回Viewまで覚えるのは手間がかかる。
自分1人ならまだしも、自分以外がテンプレートを担当しているような現場では、
新しいテンプレートを周知させるのはコスト的に厳しい面もあると思う。

396 :nobodyさん:2010/06/08(火) 01:59:56 ID:???
Smartyはアダプタです(キリッ

397 :nobodyさん:2010/06/08(火) 04:16:11 ID:???
>>390
>自分たちと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が優れている」とか言えば満足かな?

398 :nobodyさん:2010/06/08(火) 10:00:40 ID:???
>「Smarty信者が特に優位性の無い部分でSmartyを絶賛する」

こんなことしてるやついるのか?
どのレスのこと指してるんだ?ベンチマークとかの部分か?

399 :nobodyさん:2010/06/08(火) 11:53:03 ID:???
どうでもいい。

俺はSmartyを「使う」からこのスレに情報を求めにきてるんだ
「使うべきか、否か」という話は別のスレでやってくれ。

ここは「使う」としたらどう便利に使うかというスレなんだ。

400 :nobodyさん:2010/06/08(火) 11:54:31 ID:???
Smartyを理解している、使っている人はいちいち反論とかせずスルーしてくれ。
そのうえで荒らすために、反論を装うレスを荒らしがつけるだろうが、中身を理解してないからすぐわかるんだし

401 :nobodyさん:2010/06/08(火) 12:55:01 ID:???
フレームワークがどうのこうの、密結合とか疎結合とか、御託はいい。Smarty死滅しろ

402 :nobodyさん:2010/06/08(火) 21:59:39 ID:???
Smartyはそれ自体がアダプタです(キリッ

403 :nobodyさん:2010/06/08(火) 22:27:46 ID:???
水を得た魚のように得意げになってるけど、
残念ながらSmarty自体がアダプタになるってのは間違いでは無いよw

404 :nobodyさん:2010/06/08(火) 22:38:44 ID:???
確かにアダプタ的な要素もあるわな。

405 :nobodyさん:2010/06/09(水) 00:59:47 ID:???
※以下、Smartyに限った話では無い。他のテンプレートエンジンに置き換えてもOK。
 優劣を付ける目的でもありませんのであしからず。

●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は実装出来てしまう場面も多々あると思う。

そんな場合はフレームワークから独立したテンプレートエンジンを採用する事で、
学習コストを減らし共通の構文が使える等のメリットを受けられる場合もある。

406 :nobodyさん:2010/06/09(水) 01:00:19 ID:???
Smartyはそれ自体がアダプタです(キリッ

407 :nobodyさん:2010/06/09(水) 01:07:07 ID:???
>>405 は Interface=Target と思ってください。

408 :nobodyさん:2010/06/09(水) 22:31:25 ID:???
普通に考えてSmartyがAdaptee
でも識者はこう言うのだ。
「Smartyはそれ自体がアダプタです(キリッ 」

409 :nobodyさん:2010/06/09(水) 22:39:26 ID:???
論点はそこじゃない。
意見ひとつまともに出来ないなら他へ行け池沼。

410 :nobodyさん:2010/06/09(水) 22:57:25 ID:???
>普通に考えてSmartyがAdaptee
普通に考えてそれは無い・・・どんな図になるんだ?w

411 :nobodyさん:2010/06/10(木) 01:50:37 ID:???
>>409-410
AdapterクラスがAdapteeであるSmartyを継承もしくは
Smartyに処理を委譲すると考えるのが普通。
能無し低級PGは何も考えずにガリガリ君のように実装してればいいんだよ。

412 :nobodyさん:2010/06/10(木) 02:21:15 ID:???
>>411
テンプレートをClientとした場合、Smartyが構文差を埋めるAdapterになるよね。
って話なのに、普通はAdapterとして使わないとか言われても・・・

仮にClient=フレームワーク、Adaptee=Smartyとしても>>405のパターンは適用される。
もう少し理解力と応用力を身につけような?
君の基準では普通なのかもしれないが、普通の考え方しか出来ない様では一生低級PGのままだよ。

413 :nobodyさん:2010/06/10(木) 03:10:06 ID:???
A君「Client=1、Adapter=2とした場合、Client + Adapter = 3 だよ」
B君「Client=3、Adapter=4とした場合、Client + Adapter = 7 だな」
>>411君「普通Adapterは0だよね?能無し低級PG共めw」
A君・B君( ・・・なにこいつ(´Д`; )

414 :nobodyさん:2010/06/10(木) 09:42:42 ID:???
一人で何やってんの・・?
自演するにしても文章の癖くらい消せよ・・

415 :nobodyさん:2010/06/10(木) 09:59:28 ID:???
いい加減いつまでやってるんだ?
フレームワークやデザパタの話なんて興味ないんだよ。

416 :nobodyさん:2010/06/10(木) 10:54:07 ID:???
隔離スレだった頃も、わざわざSmartyスレに来てSmarty批判ばっかり繰り返してたヤツもいたしな
自分の意見を通さないと気が済まないんだろうけど、そういうのは他でやってくれよな

ここはSmartyスレだからさ

417 :EM111-188-76-222.pool.e-mobile.ne.jp:2010/06/11(金) 10:38:46 ID:???
池沼はコテハン付けてID表示して書き込めっての
NG登録できないだろ

418 :nobodyさん:2010/06/11(金) 13:38:47 ID:???
池沼相手にそんなこと言ってもな

419 :nobodyさん:2010/06/12(土) 01:24:52 ID:???
で、Smartyの優位性って結局なんなの?

420 :nobodyさん:2010/06/12(土) 02:30:25 ID:???
>>419
用途次第で優位にも不利にもなる
解らないなら無理に使う必要は無い。

421 :nobodyさん:2010/06/12(土) 09:11:15 ID:???
そんなことよりSmartyをアダプタとか言ってる時点でアレだよな。
>>405とかすげートンチンカンで笑える。

422 :nobodyさん:2010/06/12(土) 09:25:57 ID:???
>>419
PHPにおいてテンプレートエンジンの優位性はほとんどない。
速度を犠牲にしてまで使う代物ではないと断言できる。

423 :nobodyさん:2010/06/12(土) 12:25:49 ID:???
すべての場面に置いて使うべきでない限り使う道はあるからな

424 :nobodyさん:2010/06/12(土) 17:58:52 ID:???
使い道が無いんじゃなくて使いこなせていないだけの間違いだろう。
未だに速度が云々言ってる奴は、ベンチマークすら取ったことの無い情弱。

425 :nobodyさん:2010/06/12(土) 21:10:05 ID:???
Smarty使いはすぐキレる。
ゆとりかよw


426 :nobodyさん:2010/06/12(土) 21:16:51 ID:???
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ
Smartyはそれ自体がアダプタです(キリッ

427 :nobodyさん:2010/06/12(土) 21:38:53 ID:???
>>421
>>405 の意味が理解出来ないのは自分が低級PGだと露見させているようなもの・・・ハズカチィ///

428 :nobodyさん:2010/06/12(土) 22:41:37 ID:???
>>405
理解してるよ。
「Smartyはそれ自体がアダプタです(キリッ」ってことだろ?
デザインパターンなんて理解出来ない低級PGなんだなーと思った。

429 :nobodyさん:2010/06/12(土) 22:47:45 ID:???
「smarty アダプタ」で検索したらこのスレしか出ねーw
>>405は自分がポンコツ低級PGであることを理解し、
泣きながら一生このスレで謝り続けるべき。

430 :nobodyさん:2010/06/12(土) 23:56:53 ID:???
>>405 を 「Smartyはそれ自体がアダプタです」と読み取ったのであれば、もう少し日本語の勉強をした方が良い
正しくは「Smartyはそれ自体がアダプタにもなりえる」だ。

あと、検索するなら「Smarty Adapter」「Smarty Adaptor」が適切だよ
そもそも議題の趣旨を調べたいなら「Smarty フレームワーク」とかでね

調べ方すら知らない低級PGは2chスレ見てる場合ではないです(^o^

431 :nobodyさん:2010/06/13(日) 00:36:06 ID:???
出ました、Smarty=フレームワーク発言。
フレームワークの意味分かってないだろ?
Smartyはライブラリであって呼び出される側。
OKかな?低級PG!

432 :nobodyさん:2010/06/13(日) 00:36:56 ID:???
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね

433 :nobodyさん:2010/06/13(日) 00:37:50 ID:???
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる
Smartyはそれ自体がアダプタにもなりえる

434 :nobodyさん:2010/06/13(日) 00:38:47 ID:???
痛い発言の総合商社だなw

435 :nobodyさん:2010/06/13(日) 00:52:30 ID:???
何でSmarty厨って厚顔無恥なんだろう。
Smartyがアダプタ?フレームワーク?
死ねよ雑魚。


436 :nobodyさん:2010/06/13(日) 01:00:37 ID:???
言い返せないからってムキになってファビョルなよ・・・顔真っ赤だよ?

>出ました、Smarty=フレームワーク発言。
そのイコールはどこから出てきたんだい。まずは日本語から勉強しような?

Smartyをフレームワークで使うメリットっとは?て話からアダプタって話に派生してるんだ、
関連記事調べるなら「Smarty フレームワーク」で検索しろってことだ・・・アホに合わせてレスするのは大変だね。

437 :nobodyさん:2010/06/13(日) 01:08:13 ID:???
>>435
お前上の方でデザイナにテンプレートはさわらせないとか騒いでた奴だろw
統合失調症か?一度精神科医に行った方がいいよ。

438 :nobodyさん:2010/06/13(日) 01:38:38 ID:???
>>436
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね
「Smarty フレームワーク」とかでね

439 :nobodyさん:2010/06/13(日) 01:40:24 ID:???
Smartyがフレームワークとは知らなかったよ。
ただのテンプレートエンジンだと思ってた。
凄いなぁSmarty馬鹿ってwww

440 :nobodyさん:2010/06/13(日) 01:41:48 ID:???
Smartyはフレームワーク
そして何よりアダプター
これ、Smarty界隈の常識ですよ?

441 :nobodyさん:2010/06/13(日) 01:42:51 ID:???
Smartyはフレームワークでありアダプターです。

442 :nobodyさん:2010/06/13(日) 01:56:29 ID:???
Smartyとフレームワークの関係を調べる場合は、とりあえず「Smarty フレームワーク」で検索しないか?
そうでないと>>429で「Smarty アダプタ」を検索した意図がわからんのだが、

検索エンジンすらまともに使えない池沼って事でOK?

443 :nobodyさん:2010/06/13(日) 05:44:59 ID:???
自分以外全員迷子に見える人につける薬はないのか

444 :nobodyさん:2010/06/13(日) 10:59:40 ID:???
ちょっと前まではまだ会話は成立していたような気がしたんだが
>>432-433みたいになっちゃったらもう病院行ってもらうしか…

445 :nobodyさん:2010/06/13(日) 15:48:27 ID:???
Smartyはフレームワークでありアダプターにもなる。
これって素晴らしくね?

446 :nobodyさん:2010/06/13(日) 18:55:00 ID:???
軽く煽るつもりが反論出来なくなって荒らしになる典型的パターンだな

447 :nobodyさん:2010/06/13(日) 19:38:40 ID:???
>>445
次スレの>>1にも書いておこうぜwww

448 :nobodyさん:2010/06/13(日) 21:10:04 ID:???
次スレは池沼出入り禁止だからそれは無理だお(^ω^)

449 :nobodyさん:2010/06/13(日) 21:55:44 ID:???
次スレのタイトルは
【フレームワークであり】Smartyスレ第3章【アダプターにもなる】
で決まりだな。

450 :nobodyさん:2010/06/14(月) 01:43:33 ID:???
そんなことより >>449 にオススメのソフトがあるから是非活用してくれ
http://yuukiremix.s33.xrea.com/chirashi/

451 :nobodyさん:2010/06/14(月) 03:45:18 ID:???
保存できないとかチラシの裏以下じゃね?

452 :nobodyさん:2010/06/14(月) 03:54:45 ID:???
チラシの裏以上に使い道のない発言など保存する必要無いって事だろう

453 :nobodyさん:2010/06/14(月) 03:55:34 ID:???
まあ、そうだなw

454 :nobodyさん:2010/06/14(月) 13:09:14 ID:???
自演するならもうちょっと投稿時間考えてくれ
連投制限ちょうどの40秒間隔で罵りあいとか、もう見てて憐れで

455 :nobodyさん:2010/06/14(月) 17:03:38 ID:???
また妄想で都合の悪いレスは受け流す・・・すか・・・
まじで病院行った方がいいよ。池沼。

456 :nobodyさん:2010/06/15(火) 13:07:55 ID:???
うん。都合の悪いレスは受け流しちゃうんだ
だって都合の悪いレスに真っ向からぶつかっても、得るものないんだもの

457 :nobodyさん:2010/06/15(火) 16:18:23 ID:???
久しぶりにここ見たけど、まだやってたw
この辺境の地ですげえな。

458 :nobodyさん:2010/06/15(火) 17:48:22 ID:???
むしろこのスレで得るものあったのか?w

459 :nobodyさん:2010/06/15(火) 17:54:53 ID:???
昔、よく質問に答えてもらって助かりましたので。
やっと使いこなす側になれたので、初心者がきたら(分かる所は)教えてあげられるかなと思って常駐してます。

460 :nobodyさん:2010/06/15(火) 18:34:46 ID:???
ん?上の方で揉めてた人とは別人かい?

461 :nobodyさん:2010/06/16(水) 09:03:32 ID:???
メンドクセーの相手にしないでよ。
持論を展開したいなら、自分のblogなりでやれば良いのに、相手にするからやり込めたくなったり、議論の為の議論にしちゃうんだからさ。

462 :nobodyさん:2010/06/16(水) 17:42:13 ID:???
そうだな、じゃあSmarty3 RC2 の話でもするか。

各プロパティやメソッドが camelCaseや setter / getter になったのは嬉しいね。

463 :nobodyさん:2010/06/16(水) 18:13:58 ID:???
今から勉強するならSmarty2系よりもSmarty3がいいですか?

464 :nobodyさん:2010/06/16(水) 18:15:32 ID:???
勉強したいなら3でいいんじゃない?
業務で使うなら2のほうが枯れてて良いと思うけど

465 :nobodyさん:2010/06/16(水) 18:26:30 ID:???
>>463
ありがとうございます
Smarty3はRCとのことですが、業務で使われるようになるのはいつごろになると思われますか?

466 :nobodyさん:2010/06/16(水) 18:28:46 ID:???
ごめんなさい、>>465のアンカーは>>464です

467 :nobodyさん:2010/06/16(水) 20:34:41 ID:???
>>465
Smarty2使ってる人はある程度自作プラグイン活用してるだろうし、乗り換えまでは少し時間かかるかもね。

全く初めてなら、ドキュメントやサンプルの揃ってる2から勉強するのもありかと。

468 :nobodyさん:2010/06/17(木) 06:07:27 ID:???
ありがとうございます、2から触ってみます

469 :nobodyさん:2010/06/17(木) 17:53:52 ID:???
3にする利点て何でしょう??

470 :nobodyさん:2010/06/18(金) 01:47:44 ID:???
>>469
全てPHP5で書き直されて、軽量化と大幅な機能追加が行われた。

詳しくはREADME読むといいよ。
http://smarty-php.googlecode.com/svn/branches/Smarty3Dev/distribution/README

完全に書き直しただけあって現状では不具合も未知数なので、
暫くは様子見が吉だと思う。

471 :nobodyさん:2010/06/18(金) 17:31:08 ID:???
>>470
ありがとう。PHP5のみか。
基本問題ないけど、たまーに今更PHP4とか言ってる案件あんだよね。
upgrade.php使ったりして少しは差異吸収させるけど。

ぐぐったついで。

Smarty2.0からSmarty3.0への変更点 | スイナシア
ttp://suin.asia/2010/03/06/smarty_3.0

472 :nobodyさん:2010/06/22(火) 11:28:33 ID:???
Smarty3はphp5.3に完全対応してますか?

473 :nobodyさん:2010/06/22(火) 19:09:39 ID:???
していますん

474 :nobodyさん:2010/06/28(月) 01:57:03 ID:???
Smartyなんて使ってる奴まだいたんだな。

475 :nobodyさん:2010/06/28(月) 10:13:15 ID:???
COBOLやBASICすら現役なのに、プログラマの台詞とは思えないですぞw

476 :nobodyさん:2010/06/28(月) 17:12:46 ID:???
釣られるなよ

477 :nobodyさん:2010/06/29(火) 01:16:19 ID:???
本当のプロはSmartyなんて使わない。
まぁ趣味でやる分にはいいんじゃない?

478 :nobodyさん:2010/06/29(火) 09:00:08 ID:???
本当のプロは依頼主の要望に合わせる
まぁ趣味でやる分には何を嫌おうがいいじゃない?

479 :nobodyさん:2010/06/29(火) 17:24:50 ID:???
ブラウザ三国志はSmarty
http://www.slideshare.net/ketaiorg/php-4638298

480 :nobodyさん:2010/06/29(火) 22:55:29 ID:???
Smartyは激重だから使わない方がいい

481 :nobodyさん:2010/06/30(水) 12:00:10 ID:???
比べればわかるSmartyは超高速。

for ($i=1 ; $i<100000000;$i++ ) {
$smarty->display('hello world.tpl');
}

for ($i=1;$i<1000000000;$i++) {
echo 'hello world';
}

482 :nobodyさん:2010/06/30(水) 12:31:45 ID:???
そのふたつって同じ結果になる処理なのか?

483 :nobodyさん:2010/06/30(水) 15:44:41 ID:???
Smartyが激重とか言ってる奴は、5年くらい前から知識とハードウェア構成が止まってるんだろうよw

484 :nobodyさん:2010/06/30(水) 18:44:24 ID:???
ttp://www.slideshare.net/ketaiorg/php-4638298
Mixiブラウザ三国志の実装
・Smartyを使用してる
・Smartyは重いと言われてたけど、テストしたら別に重くなかったから採用した
とブラウザ三国志の作者が言及

485 :nobodyさん:2010/07/01(木) 20:16:33 ID:???
お前ら、ちょっと相談ですけど、
CMSサイトをSmartyで作るとして、管理画面はSmarty使わずに
公開画面はSmartyを使ってるんですが、変ですかね?
管理画面は編集する必要ないと思っているので、使ってないのですが。


486 :nobodyさん:2010/07/01(木) 22:18:04 ID:???
変じゃないけど、テンプレートを共有出来た方が楽な気はしないでも無い。

487 :nobodyさん:2010/07/02(金) 00:12:55 ID:???
DreamweaverでSmartyの編集している人いる?
includeを反映させる方法「Dreamweaver Smarty でググると出てくる方法」
で反映させる事は出来たんだけど、デリミタタグを{{ }}に変更したら出来ない。
やり方知ってる人がいたら教えて下さい。

488 :nobodyさん:2010/07/02(金) 01:50:44 ID:???
>>487
ぐぐって見たけど、複数のエクステンションがあるっぽいね。
どの方法でやってるか書かないと誰も答えられないと思うよ。

489 :nobodyさん:2010/07/02(金) 12:28:04 ID:???
>>488
そんなに複数のエクステンションはないと思いますよ。
自分が試したのは「Dreamweaver Smarty」でググって一番上の方法と、
そのエクステンションの/transrator/SmartyInclude.htm(タグ置換ファイル)
の編集ですね。デリミタタグを{ }から{{ }}に変えるという。

490 :nobodyさん:2010/07/03(土) 12:42:11 ID:???
なんでそんなぼかした言い方するんだ

491 :nobodyさん:2010/07/03(土) 16:26:42 ID:???
どの方法で、どこで躓いているのかが解らないので答えようが無い

492 :nobodyさん:2010/07/03(土) 16:47:53 ID:???
自作のMVCフレームワーク作ってるんだけど、
VをSmarty使うかどうか悩む。

Smartyにはエスケープとか日付フォーマットの変更とか使えるから、
Viewで表示を変える事は出来る。
でも、アクセス毎にコンパイルファイルが生成されるのが気になる。
サイト構造のディレクトリ分けの時とかさ。

意外とPHPフレームワークでSmarty使ってるって少ないんだよね。
Ethnaぐらいか?

493 :nobodyさん:2010/07/03(土) 19:52:53 ID:???
>>492
コンパイルは最初の1回だけでは?毎回ソースをparseするよりは早くなるんだししょうがないっしょ。
あとはキャッシュ使うなりの運用じゃね?

494 :nobodyさん:2010/07/04(日) 00:41:54 ID:???
Smartyって大抵のレンタルサーバーだと元から入ってるもんなの?

495 :nobodyさん:2010/07/04(日) 01:17:12 ID:???
>>493
そうじゃなくて、templates_cとかcacheとかの置き場所に困るんだよ。
サイト構造的に、場面展開する時とかね。

あと、単純にコントローラーにSmarty変数を書いていくと
コントローラーが肥大化してしまうと言う悩みもある。
テンプレートファイルにPHP直書きだとそうでもないからね。

496 :nobodyさん:2010/07/04(日) 02:26:33 ID:???
>>495
置き場所に困る意味がわからないのだが・・・適当な場所にディレクトリ作るだけじゃないの?

あとControllerにSmarty変数を書いてしまって肥大化ってのは、assignが面倒って事?

497 :nobodyさん:2010/07/04(日) 12:47:58 ID:???
適当な場所に作るんだけど、
サイトが大きくなるとその管理・分け方が難しく感じる時があるんだよ。

あと、assignが面倒ってのは大きいね。
モデルからコントローラーに何らかの処理が渡って、
その結果をビュー(テンプレート)に渡すのが流れだけど、
ビュー内のSmarty変数に対してすべてassingするのが面倒。

もちろん、配列でassignして、テンプレでは
{$data.name}みたいな書き方も出来るけど。

498 :nobodyさん:2010/07/04(日) 18:13:08 ID:???
>適当な場所に作るんだけど、
>サイトが大きくなるとその管理・分け方が難しく感じる時があるんだよ。

参考までに現在のプロジェクトディレクトリの構成教えてくれない?
俺はプロジェクリディレクトリ以下に templates/  templates_c/ chache/ を作ってる。

>あと、assignが面倒ってのは大きいね。
>モデルからコントローラーに何らかの処理が渡って、
>その結果をビュー(テンプレート)に渡すのが流れだけど、
>ビュー内のSmarty変数に対してすべてassingするのが面倒。

コントローラからビューに結果を渡す必要があるのだから、Smartyに限らずassignは発生すると思うよ
もし面倒ならコントローラに定義された変数を、自動で全てassignする機能を持たせればよいかと
その場合、コントローラ側で変数名変えたり、増やしたり、振る舞いを変えたりするとテンプレートにまで影響が出る可能性があるので注意だけど

自分用フレームワークなら、自分が使いやすい方で作るのが良いかと思う。

499 :nobodyさん:2010/07/04(日) 20:22:11 ID:???
>>498
単純に「公開用」「会員用」「管理者用」の画面があった場合、
/templates_c
/html、/member、/admin(長くなるから横書きにした)

みたいな感じにするか
/admin
/templates
/templates_c
/cache

とするかそれぞれの好みに寄るだろうけど、
サーバにアップする時、ディレクトリ作ってパーミッションを777にして
とかいう作業が少し面倒に感じてね。

>自分用フレームワークなら、自分が使いやすい方で作るのが良いかと思う。
自分用フレームワークを他人が見ても分かる形にしたいからさ。

その時に、テンプレファイルで{$name}とするのと、<?php echo $name;?>
とするのと、一緒だと思って。
どこかで「ビューで表示を変える」というのを見たから
Smartyを使おうと思ったんだけどね。いまいち、使い方で悩むわけよ。

500 :nobodyさん:2010/07/04(日) 22:39:56 ID:???
>>499
自分だったら
/templates/public/
/templates/member/
/templates/admin/
/templates_c/
/cache/
かな・・・ここらへんはプロジェクトディレクトリの構成によるから、
他のフレームワークを参考に決めればいいと思う。

>>自分用フレームワークを他人が見ても分かる形にしたいからさ。
で、あればView用Interfaceを作っておいて、
好きなテンプレートエンジンを組み込めるようにしておけばいいと思うよ。


実際に他のフレームワークとかビュークラスを触ってみれば良いよ

501 :nobodyさん:2010/07/05(月) 01:41:29 ID:???
View用Interfaceを作ると結局、Smartyを使った方が良いよね
ってなるからな。

Viewとなるテンプレファイルはコントローラーで指定したいから
Interface作ると柔軟性に欠けるんだよな。俺の経験では。

フレームワークはEthnaとZendとCakeを少しかじっただけだから
まだ利点が理解できてないかも知れないけど。
ま、Smartyスレで「フレームワークのビューにSmarty使うってどうよ?」
って問いかける事自体おかしいのかもしれないがw

502 :nobodyさん:2010/07/05(月) 02:57:05 ID:???
>>501
普通はフレームワークに柔軟性と自由度を与える為にInterface化するんだけど・・・Interface自体を思い違いしてない?
もしくはViewじゃなくてSmartyに依存しすぎたInterface設計をしてないかい?

503 :nobodyさん:2010/07/05(月) 04:43:21 ID:???
横だけど、それぞれのモジュールの関連の深さによって、templates/templates_c分けた方が良いと思うな。
ディレクトリごと別のプロジェクトに移しても動くように。
ある意味、オブジェクト思考的なカプセル化というか、粗結合というか。

504 :nobodyさん:2010/07/05(月) 10:22:53 ID:???
>>502
Interfaceを小一時間ほど勉強したけど、完全に勘違いしてた・・・
ただ、あまり利点(使い方)が思い浮かばない。

>で、あればView用Interfaceを作っておいて、
>好きなテンプレートエンジンを組み込めるようにしておけばいいと思うよ。

と言うのが想像出来ん。もう少し勉強してみるよ。

505 :nobodyさん:2010/07/07(水) 01:22:28 ID:???
PHP5時代の今、まだSmartyなんか使ってるのがいたとはな
驚愕の事実だぜ。

506 :nobodyさん:2010/07/07(水) 02:25:23 ID:???
そもそもテンプレートにPHPのコード書けば終いだもんな
キャッシュもob_get_contents使って自作すればいいし。

507 :nobodyさん:2010/07/07(水) 04:28:11 ID:???
>キャッシュもob_get_contents使って自作すればいいし。
この一行で頭の悪さが露呈しているなw

508 :nobodyさん:2010/07/07(水) 10:20:55 ID:???
いまだにPHP4.4.0なんだが

509 :nobodyさん:2010/07/07(水) 13:11:32 ID:???
smartyのページキャッシュを使いたがらない人がいるんだけど、なんで?
PEARのキャッシュを使いたがるんだ。

510 :nobodyさん:2010/07/07(水) 13:13:49 ID:???
いや、オレはSmartyのキャッシュ使ってるよ、超便利じゃん
PEARのキャッシュ使う人はSmarty使うページと使わないページがあって、それを統一したいとかじゃね?

511 :nobodyさん:2010/07/07(水) 13:43:12 ID:???
>>507
Smarty自体がob_get_contents使ってるんだが。

512 :nobodyさん:2010/07/07(水) 15:47:30 ID:???
キャッシュのグループ機能とか便利だよね

513 :nobodyさん:2010/07/07(水) 20:07:17 ID:???
Smarty使うってことは
フレームワークの大部分はPHP5で記述して
ViewだけPHP4で書くのか?
ダサすぎなんだがw

514 :nobodyさん:2010/07/07(水) 20:10:42 ID:???
フレームワークの大部分www全部じゃないの?PHP4混ざってんの?w

515 :nobodyさん:2010/07/07(水) 20:14:39 ID:???
Smarty3はPHP5なわけだが・・・

516 :nobodyさん:2010/07/07(水) 21:27:58 ID:???
>>514
アホは黙ってろ。

>>515
Smarty3はまだ正式リリースされてねーだろ。

517 :nobodyさん:2010/07/07(水) 23:07:02 ID:???
>>516
日本語は正しく使おうね。
曖昧なままに書くから誤解されるんだ。

それから、冷やかし、煽り、中傷、その他他人が不快に思う言動は他でやってくれたまえ。

518 :nobodyさん:2010/07/07(水) 23:47:02 ID:???
そんなことよりSmartyはアダプタですよ?

519 :nobodyさん:2010/07/07(水) 23:47:40 ID:???
おい、cakePHPさんの悪口はそこまでにしとけよ!!

520 :nobodyさん:2010/07/08(木) 23:50:36 ID:???
Smartyはそれ自体がアダプタです(キリッ

521 :nobodyさん:2010/07/09(金) 01:41:14 ID:???
テンプレートはデザイナーにも自由に触らせます(キリッ

522 :nobodyさん:2010/07/09(金) 06:35:49 ID:???
ほらcakeさんを馬鹿にしたから、厨が沸いちゃったでしょ!
誤って!cakeさんに誤って!PHP4でも凄いですね!って言って!!ほら!!

523 :nobodyさん:2010/07/09(金) 16:35:32 ID:???
Smartyのprefilterで質問です。
prefilterには$tpl_sourceでテンプレートの中身(文字列)と、&$smartyが渡されるのですが
テンプレートのファイルパスを取得する方法はないでしょうか?

通常ならばセットしたテンプレートのパスがそのままなので問題ないのですが
{include}を使った場合に、インクルード「された」テンプレートのパスが分からないので困っています。

テンプレートのパスによってフィルタの挙動を変えたいと思っているもので…

524 :nobodyさん:2010/07/14(水) 18:02:47 ID:???
スレチ失礼。ATNDより、PHP関連の勉強会を紹介します。


■Ktai Library for cakephp 勉強会@関東
URL: http://atnd.org/events/6209
日時: 2010/07/17 11:00 to 15:00
場所: マイ・スペース&ビジネスブース池袋西武横店
参加条件: Masa-Pさんの本「PHPで作る携帯サイト デベロッパーズガイド」を持参、かつ4章までを自力である程度実装できている、もしくは出来る方


■OpenPNE3で学ぶsymfony勉強会
URL: http://atnd.org/events/6255
日時: 2010/07/24 15:00 to 17:00
場所: 手嶋屋新宿御苑オフィス
内容: この勉強会は毎回OpenPNE3の各機能、仕様にフォーカスを当て、ベースフレームワークであるsymfonyを理解していく勉強会です。
参加者はみんなsymfonyに興味のあるプログラマです。Webエンジニアとのネットワークづくりにもお役立てください。


■Python4PHPer 第7回講習会
URL: http://atnd.org/events/6344
日時: 2010/08/12 10:00 to 22:00
場所: 国立オリンピック記念青少年総合センター
内容: Python未経験者向けの、PythonとGoogle App Engine (GAE) の入門講座です。


■第11回 LOCAL PHP部勉強会
URL: http://atnd.org/events/6443
日時: 2010/08/28 14:00 to 16:30
場所: 札幌市産業振興センター セミナールーム9


525 :nobodyさん:2010/07/14(水) 19:57:00 ID:???
まともな質問にレスすらつかないスレに宣伝されてもな

526 :nobodyさん:2010/07/15(木) 11:02:53 ID:???
Smartyと何の関係もない宣伝ってどうなのよ

527 :nobodyさん:2010/07/15(木) 12:52:10 ID:???
RC3来たよ。

528 :nobodyさん:2010/07/15(木) 14:40:56 ID:???
RCいつ取れんだよ

529 :nobodyさん:2010/07/16(金) 06:21:58 ID:???
そのうちとれんだろ

530 :nobodyさん:2010/07/17(土) 21:47:29 ID:???
Smartyってそれ自体がアダプタなんだろ?
すげーw

531 :nobodyさん:2010/07/17(土) 21:53:00 ID:???
Smarty それ自体 アダプタ
Smarty それ自体 アダプタ
Smarty それ自体 アダプタ
Smarty それ自体 アダプタ
Smarty それ自体 アダプタ

532 :nobodyさん:2010/07/18(日) 23:57:58 ID:???
>>530
すごいよねw
何ていってもアダプタだしw

533 :nobodyさん:2010/07/19(月) 17:40:42 ID:???
キーワード:Smarty アダプタ

534 :nobodyさん:2010/07/19(月) 17:43:59 ID:???
compileとcacheの違いが分かりません!

535 :nobodyさん:2010/07/19(月) 18:47:15 ID:???
実際のファイル見ればいいじゃない

536 :nobodyさん:2010/07/19(月) 19:52:37 ID:???
compile ・・・ テンプレートをPHPコードにコンパイルしたファイル
cache ・・・ PHPコードを実行した出力結果のキャッシュ

537 :nobodyさん:2010/07/20(火) 01:42:52 ID:???
>>536
>cache ・・・ PHPコードを実行した出力結果のキャッシュ
htmlということで宜しいか?

538 :nobodyさん:2010/07/20(火) 03:39:17 ID:???
>>537
そう考えていいけど、キャッシュしない部分はそのままphpコードが残るはず。

539 :nobodyさん:2010/07/20(火) 18:17:46 ID:???
教えてください。

$smarty->assign('arr',array(
'2010-07' => '7月のデータ',
'2010-08' => '8月のデータ',
));
の様にキーに-記号が含まれてる場合に
{$arr.2010-07}とすると
$arr[2010]-7みたいなパースになってしまうのですが
どのように書けばいいのでしょうか?

540 :nobodyさん:2010/07/20(火) 20:17:27 ID:???
バッククォートでくくる

541 :nobodyさん:2010/07/21(水) 04:35:28 ID:giVfeoMU
smarty2をphp5.2.9でつかっていて、ブラウザで出力結果を見たところ、「>」が表示されています。
が、テンプレートファイルにそんなものはなく、それどころか以下のような状況です


Safari5
-------------------------
・ソースを見ても該当箇所に > はない
<div><table class="tableH">〜〜


Firefox3.6.6
-------------------------
・ソースを見ても > はない
<div><table class="tableH">〜〜
・「>」を選択して、選択した部分のソースを表示だと
<div>
>
<table class="tableH">〜〜


Chrome5
-------------------------
・ソースを見ても > はない
<div><table class="tableH">〜〜

・「>」を選択して、要素の検証をすると
<div>
">"
<table class="tableH">〜〜


何が原因なんでしょうか? ご意見よろしくお願いします。(ブラウザは全てmacです)

542 :541:2010/07/21(水) 04:38:29 ID:giVfeoMU
Firefoxでの検証は「選択部分のソース表示」で

<div>
&gt;
<table class="tableH">〜〜

です。 すみません、半角で書いたら>に変換されたので全角に書き直しました

543 :nobodyさん:2010/07/21(水) 05:30:29 ID:???
Smarty関係なさそうだけど。
テンプレートじゃないなら、変数確認したら。

544 :nobodyさん:2010/07/24(土) 20:12:03 ID:???
Smarty アダプタパターン
Smarty アダプタパターン
Smarty アダプタパターン
Smarty アダプタパターン
Smarty アダプタパターン

545 :nobodyさん:2010/07/24(土) 23:04:53 ID:???
それにしてもアダプタパターンは無いわw

546 :nobodyさん:2010/07/25(日) 09:06:29 ID:???
蒸し返すなよ

547 :nobodyさん:2010/07/25(日) 19:40:03 ID:???
土曜の夜に相手してくれる人がいなくて、よほど暇なんだろうよ。


548 :nobodyさん:2010/07/26(月) 01:04:19 ID:???
「Smarty アダプタパターン」でググると・・・w

549 :nobodyさん:2010/07/26(月) 13:24:20 ID:???
池沼の笑いのツボは理解できないぜ・・・w

182 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)