【PHP】 Smarty 【テンプレートエンジン】 第2章
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/03/29(月) 14:41:04ID:???具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。
0002nobodyさん
2010/03/29(月) 15:09:40ID:???公式マニュアル: http://www.smarty.net/manual/ja/
ダウンロード: http://www.smarty.net/download.php
0003nobodyさん
2010/03/29(月) 15:19:43ID:???↓は第1章
【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
0004nobodyさん
2010/03/29(月) 16:52:47ID:???Smarty以外のテンプレートエンジンの批判や、Smartyを批判する発言のコピペや、
Smartyを使っていないユーザに対する批判は、荒れる元になるので禁止です。
他スレから荒らしを招くことが無いように、他スレでのSmartyの話題も極力控えましょう。
もはやSmartyを使ってない識者の方は生暖かく見守ってください。
枯れた技術を仕方なく使うしかないユーザー同士、ひっそりと会話をしましょう。
0005nobodyさん
2010/03/30(火) 09:45:49ID:???0006nobodyさん
2010/03/30(火) 15:15:09ID:???どっかの馬鹿が変な晒しをやって、それが元で炎上して1000まで埋まった。
なぜかスレタイから「隔離スレ」が消えたけど、>>4にある通りひっそりやったほうがいいと思う。
0007nobodyさん
2010/03/30(火) 16:18:45ID:???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/
0008nobodyさん
2010/04/07(水) 23:41:16ID:???・PHP自体がテンプレートエンジンなんだからSmartyいらなくね?
→ ケースバイケースです。
不要だと思うならこのスレを見ても有益な情報は得られないでしょう。
0009nobodyさん
2010/04/08(木) 23:58:35ID:???>Smarty は PHP のためのテンプレートエンジンです。
PHP自体がテンプレートなので不必要ですね。
>具体的に言うと、php のプレゼンテーションからアプリケーションの
>ロジックとコンテンツを分離して管理する事を容易にします。
素のPHPでも十分容易にロジックとコンテンツを分離できるので不必要ですね。
>これは、プログラマーとテンプレートデザイナーの役割が異なり、
>これらの役割を違う人間が受け持っている場合に最適だと言えます。
デザイナーにSmartyというヘンテコで汎用性の無い言語を
わざわざ覚えさせるのですか?可哀想だからそんなことは止めましょう。
あと、テンプレートを書くのはプログラマの仕事です。
デザイナーはテンプレートの元となるHTMLを書くだけです。
プログラマはPHPを理解しているのでSmartyなんて入りませんね。
0010nobodyさん
2010/04/09(金) 05:43:47ID:???そんなに真っ赤な顔をして、学校で何か辛い事でもあったのかい?
え、新しいクラスで友達が出来ないのは何故かって?
ふふふ…聡明な君ならもう答えは解っているんだろう?
そう!
Smartyを使っていないからだよ!
勉強も部活も、恋だってAnything OK!!
なりたい自分になれる、それがSmartyだよ。
え?高いんじゃないかって?ふふふ…心配無用さ!
驚くことにSmartyはその全てが無料なんだ。
つまり…そう!!
お小遣いは全て君の大好きなHENTAI GAMEに注力できるんだ。
どうだい、とてもCoolだろ?
さぁ今すぐ http://www.smarty.net/ にAccessしてSuccessしようぜ!
サンキューベイベー!
0011nobodyさん
2010/04/09(金) 13:20:37ID:???0012nobodyさん
2010/04/09(金) 23:13:48ID:???Ver3では字句解析・構文解析までしちゃって無駄の上乗せw
0013nobodyさん
2010/04/10(土) 02:36:00ID:???0014nobodyさん
2010/04/10(土) 11:01:47ID:???0015nobodyさん
2010/04/10(土) 17:45:58ID:???テンプレートエンジンとしては非常に大掛かり過ぎるし、
なによりPHP自体がテンプレート機能があるという。
終わってますな。誰も使わないだろう。
0016nobodyさん
2010/04/10(土) 18:10:59ID:???0017nobodyさん
2010/04/10(土) 20:06:16ID:???>>15 お前は何を言っているんだ?
え?構文解析を行わないテンプレートエンジンってあるの?
PHP自体のテンプレート機能に不足があるからSmartyを開発したって経緯は知ってる?
なんでSmartyがこんなに普及しちゃったか知ってる?
0018nobodyさん
2010/04/10(土) 20:37:27ID:???ショートタグが禁止になっただけで動かなくなっちゃうコードの多い事多い事…。
0019nobodyさん
2010/04/10(土) 21:28:59ID:???Smarty信者が必死だなw
Smarty2系は構文解析してーねーよ。正規表現で書き換えてるだけ。
オフィシャルにも書いてあるだろ。
PHPで一時期Smartyが流行ったのは知ってるがもう誰も使ってないよ。
CakePHPもsymfonyもSmartyどころかテンプレートエンジン使ってないから。
お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか
知ってるのか?
0020nobodyさん
2010/04/10(土) 22:10:15ID:???0022nobodyさん
2010/04/11(日) 00:09:07ID:???公式の序文にもそう書いてあるんだよなぁ…パースが重いからコンパイル済ファイルをキャッシュするって…うーん。
>>お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか知ってるのか?
教えて教えて!
あとTwigとかいうテンプレートエンジンの開発元と、開発の経緯も知ってたら教えて!
0023nobodyさん
2010/04/11(日) 01:07:03ID:???0024nobodyさん
2010/04/11(日) 04:08:04ID:???デザイナーにも優しいとか言ってw
デザイナーにテンプレート書かせるなよwww
0025nobodyさん
2010/04/11(日) 11:01:07ID:???無くてもいけるが、あったらあったで全体の作業は楽になる。
キャッシュの操作は優秀。
それにsmarty否定派に>>24みたいのがいるなら、逆にこれからも使うかという気持ちになる。
0026nobodyさん
2010/04/11(日) 11:58:50ID:???プログラマがSmartyテンプレートにする
デザインに修正が入ったらデザイナが修正する
が一般的だと思うよ
誰でも出来るデザイン修正にPGの手を割く事に疑問を持たない時点でPGとして終わってる
かといってシステムに影響が出るコードをデザイナに触らせるのはセキュリティ意識低すぎると思う
素のPHPをテンプレートとして使う場合、継承とかキャッシュとかどうしてんだろうね…
否定派の言うことも一理あるが、Smartyのメリットを全く生かそうとしない姿勢が素人臭くて可愛らしい
0027nobodyさん
2010/04/11(日) 12:05:39ID:???そうなんだが、デザイナーがテンプレ修正するなら
デザイナー自身がSmartyに関する知識をある程度
持っている必要あるよな?
そして、Smartyの知識が分かると言うことは
少なからずPHPも理解する必要があり、そうなればデザイナーか何か分からん
0028nobodyさん
2010/04/11(日) 12:22:44ID:???Smartyのテンプレートを弄るのにPHPの知識は不要じゃないか?
まともなWEBデザイナなら、テンプレートでループする箇所や、テンプレート変数となる箇所を意識してコーディングするわけで、
デザイナ(コーダー)=全くPGが解らないって考えは古いかと…
少なくとも自分の関わっているデザイナは、Smarty肯定派が多い。
テンプレートが素のPHPだと、毎回細かい仕様や制限を確認するのが面倒だけど、Smartyなら気楽だとさ。
0029nobodyさん
2010/04/11(日) 12:51:18ID:???0030nobodyさん
2010/04/11(日) 21:18:22ID:???コードに手を入れさせるのと同じだよね。
そんな気味の悪いこと良くできますねってことだ。
デザイナーが触らないテンプレートならSmartyなんか使わなくても
生PHPで問題あるの?
継承がどうこう言ってる奴がいるが、Viewに継承て。
そんな複雑なテンプレート作るなよw
0031nobodyさん
2010/04/11(日) 21:40:41ID:???>>コードに手を入れさせるのと同じだよね。
違うよ。全然違うよ。
>>生PHPで問題あるの?
ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?
>>継承がどうこう言ってる奴がいるが、Viewに継承て。
>>そんな複雑なテンプレート作るなよw
お前が作ってるサイトがしょぼい事だけはわかった。
今時のテンプレートは大抵継承機能を持ってるから、その意味を調べてから出直すといい。
0032nobodyさん
2010/04/11(日) 22:31:55ID:???>違うよ。全然違うよ。
デザイナーにテンプレート触らせる時点で
お前のやってる仕事の規模が伺えるな。
>ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?
デザイナーにテンプレートは書かせないと言ってる。馬鹿か?
>お前が作ってるサイトがしょぼい事だけはわかった。
>今時のテンプレートは大抵継承機能を持ってるから、その意味を調べてから出直すといい。
テンプレートエンジンなんか今時使ってませんからw
その継承機能とやらを知ってるだけでそのはしゃぎっぷりw
テンプレートエンジンを使ってるという時点で
最新のFWを使ってないんだろうなというのがバレバレですよ?
お前が作ってるサイトがしょぼい事だけはわかったわw
0033nobodyさん
2010/04/11(日) 23:55:27ID:???かっこよすぎるw
是非その素晴らしい最新のFW構成を教えてもらいたいものだ
うちはCake、ZendFWと双方で使えるカスタムSmartyしか使ってないわ
あー、最新のFWつかいてーw
0034nobodyさん
2010/04/12(月) 10:39:13ID:???> ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?
Smartyを与えても致命的なコードを書かれる可能性はあるわけですが・・・。
>>33
> Cake、ZendFWと双方で使えるカスタムSmarty
それを使わないでCakeとZFを使うのが最新のやり方だと思うよ・・・。
0035nobodyさん
2010/04/12(月) 11:34:50ID:???具体的にはどんな事を書かれてしまうんだい?
宣言のかかったSmartyテンプレートでDBに穴あけたり、サーバに穴あけたりする方法を教えておくれ。
>>それを使わないでCakeとZFを使うのが最新のやり方だと思うよ・・・。
CakeにしろZFにしろ中間となるViewクラスは作るのが一般的かと…
どこの誰が最新のやり方とやらを提唱して実践してるのか教えてくれ
うちでは一からViewクラスを作って仕様化するより、Smartyを導入する方が制作コスト、学習コストは低いと判断されている。
Smarty≧素のPHP>>>>独自仕様のPHP
0036nobodyさん
2010/04/12(月) 11:37:01ID:???○…制限のかかった
0037nobodyさん
2010/04/12(月) 20:04:24ID:???マニュアルを読みましょうね。
http://www.smarty.net/manual/ja/plugins.php
http://www.smarty.net/manual/ja/language.function.php.php
等々
自分の事情を「一般的」と決めつけて、それ以外を理解できない時点で、
技術者としては程度が知れてると思いますよ。
Smarty信者はレベルが低いと言われても仕方がない。
0038nobodyさん
2010/04/12(月) 21:46:00ID:???プラグインはPGが作成して配備しないと使えないよ
PHPタグ?それこそフィルタでどうとでもなるが?
>>自分の事情を「一般的」と決めつけて、それ以外を理解できない時点で、
そのまま君に返すよw
君の言う最新のFWのやり方ってやつのソースを出してくれ
君の中で「一般的」なだけかい?
Smartyスレまで来て否定してるんだ、さぞかし素晴らしい実績があるんだろ?
0039nobodyさん
2010/04/12(月) 21:52:55ID:???0040nobodyさん
2010/04/12(月) 21:56:15ID:???http://www.smarty.net/manual/ja/variable.security.settings.php
セキュリティの設定は当然知ってるよな
ふまえた上で、危険な実証コードも提出してくれると助かるな。
低レベルな俺にはわからん。
0041nobodyさん
2010/04/12(月) 22:19:14ID:???> プラグインはPGが作成して配備しないと使えないよ
作成して設置すれば使えるってことだよね。
> 君の言う最新のFWのやり方ってやつのソースを出してくれ
自分で調べてくれないかな・・・。
http://cakephp.jp/
http://framework.zend.com/manual/ja/
http://symfony-reloaded.org/
>>40
> 危険な実証コードも提出してくれると助かるな。
>>37を読んでね。
0042nobodyさん
2010/04/12(月) 23:38:02ID:???>>作成して設置すれば使えるってことだよね。
いやだから、デザイナにはプラグインを設置する権限なんて与えないが?
>>自分で調べてくれないかな・・・。
嫌だよww
君の頭の中にしかないソースじゃ調べようが無いだろw
>> 危険な実証コードも提出してくれると助かるな。
>> >>37を読んでね。
プラグインは設置出来ないし、{php}タグも使えないよ?
他は無いんすかw
結局、君の思い込みだけでSmarty批判してただけか、残念だ。
0043nobodyさん
2010/04/13(火) 01:47:03ID:???自分のやり方に固執してそれ以外を受け入れることができなくなってる。
可哀相に。
0044nobodyさん
2010/04/13(火) 03:17:43ID:???SmartyにはSmartyのメリットもあるんだ。
何も示さずに「Smartyスレ」で、Smarty否定されてもそりゃ誰も受け入れないだろう。
可哀想な僕らに君のその自信と根拠を示してよ(あるならね)
そもそも所詮は手段の一つに過ぎないライブラリを否定する事に意味があるのかは疑問だが…
要件に合わなければ使わなければいいんじゃないの?
手段と目的が逆になってないかい?
0045nobodyさん
2010/04/13(火) 03:38:32ID:???今時はフレームワークがキャッシュ作ってくれるからSmartyのキャッシュのありがたみが無いし、
どっちにしろforeachやifが入ってくると、テンプレートは思ってるほどすっきりしない。
<?php ?> と書くか {} のと書くか違いぐらいでしか無くなっちゃった。
0046nobodyさん
2010/04/13(火) 04:01:54ID:???正直知らんかった。
0047nobodyさん
2010/04/13(火) 15:41:41ID:???0048nobodyさん
2010/04/13(火) 17:27:49ID:???0049nobodyさん
2010/04/13(火) 19:43:59ID:???それにも関わらず、Smartyを使えば絶対安全だと勘違いする人がいる。
最初から
> SmartyにはSmartyのメリットもあるんだ。
程度の柔らかい論調で語ればいいのに、
「Smarty以外にはメリットが無いからSmarty以外は認めない!」
みたいに意固地に主張するわけのわからない信者がいる。
そういうやつが極端な煽り発言を繰り返すから炎上して、
Smartyユーザが全員馬鹿にされて、このスレで有意義な話題が始まらない。
>>42
「制限すればいい」「権限を与えなければいい」と言うなら、
生のPHPだって、制限をかければ致命的な挙動は避けられるでしょ。
論破したつもりになりたいからどんどん変な条件を追加していって、
結局自分の言いたい根本の部分がおかしくなってるいい例だよ、あなたは。
0050nobodyさん
2010/04/13(火) 21:49:16ID:???「最新のやり方と違う」とか言われてもさ、具体的に何がどう劣って、何がどう優れるのか示してあげなよ。
ここはあくまで「Smartyスレ」なんだよ。わかるかい?
>>生のPHPだって、制限をかければ致命的な挙動は避けられるでしょ。
コード規約上の制限は可能かもしれないが、実際に穴をふさぐのは相当難しいと思うよ?
もし可能だとしたら、それはSmarty以上に肥大化しちゃう気がするよ。
少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。
それを求めて導入する人も多々いるって事さ。
論破も何も、君の意見は「最新」とやらを後ろ盾に上から目線で否定してるだけだよね?
0051nobodyさん
2010/04/13(火) 21:50:04ID:???0052nobodyさん
2010/04/14(水) 13:25:07ID:???自分は34ですが32ではないです。
最新どうこうは31と32が言い出した事に過ぎないので、個人的には興味ありません。
「Smarty2はモダンではない」という意識が合っていればそれ以上の主張は無いです。
> 少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。
自分の立場は、あなたのおっしゃるこの部分への反対の立場です。
> 実際に穴をふさぐのは相当難しいと思うよ?
DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
本質は「ガチガチに設定すれば安全にだってできるんだ!」じゃなくて、
「そもそもが安全であるかどうか」でしょ。
「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
だから、その理由をもって生PHPのテンプレートを持つフレームワークを忌避しているなら、
考え方を柔軟にして、Smarty以外のものも触ってみたらいかがですか、というお話です。
0053nobodyさん
2010/04/14(水) 14:25:55ID:???>safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
View側はそれでいいのかもしれませんが、実際にそのような設定でシステムを稼働させた事はありますか?
Controller側でDBアクセスが必要、View側では不要、という場面は多々あると思います。
>「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
はい。そうは思いません。
ただView側に権限分離の安全策を施したい場合、Smartyに限らずテンプレートエンジンは有意義だと考えています。
ちなみにFW自体は積極的に導入していますよ。
View部分のみSmartyを採用する事で、それぞれのViewスクリプトの方言を統一する役割も担っています。
Twig等のモダンどころもテスト導入してみましたが、乗り換えるコストに対するメリットが少々薄いという印象ですね。
内部的にはSmartyより遙かに洗練されているとは思いますが。
0054nobodyさん
2010/04/14(水) 14:46:21ID:???0055nobodyさん
2010/04/14(水) 15:40:44ID:???Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど
0056nobodyさん
2010/04/14(水) 15:54:50ID:???0057nobodyさん
2010/04/14(水) 17:00:33ID:???0058nobodyさん
2010/04/14(水) 17:36:17ID:???┃┃
0059nobodyさん
2010/04/19(月) 23:23:08ID:???そんなプロジェクトには参画したくありませんから〜
Smartyはいらない子だって分かって!
0060nobodyさん
2010/04/19(月) 23:51:58ID:???あなたと同じくらい、世間様からは必要とされていないのかもしれないね。
ごめんね・・・ごめんね・・・
カーチャンの教育が間違っていたね・・・ごめんね・・・J( 'ー`)し
スレの皆さんも本当に申し訳ありません。
うちの子も本当は仲間に入れて欲しいだけなんです。
素直になれなくて・・・ただ、それだけなんです。
ごめんね・・・ごめんね・・・
0061nobodyさん
2010/04/20(火) 11:15:03ID:???必死のSmarty擁護と煽りが交互に繰り返されるだけという所が、
Smartyの質の悪さを如実に現しているような気がする。
0062nobodyさん
2010/04/20(火) 13:31:39ID:???それ以外じゃPHPにテンプレエンジンはいらん。
0063nobodyさん
2010/04/20(火) 14:16:38ID:???ttp://d.hatena.ne.jp/noopable/20090529/1243571310
Smartyが嫌いなら見にこなけりゃいいのにねw
何でわざわざ書き込みにくるんだろう
Smartyを使った仕事もないから需要というのを知らないのかな
Smartyを完全否定してる人は仕事に関わってなくて、趣味程度な人なんだろうね
0064nobodyさん
2010/04/20(火) 14:21:55ID:???どう見ても狼少年
てか、ポットかもw
0065nobodyさん
2010/04/20(火) 14:48:10ID:???本当に不要だと思うなら、こんなスレ来ないだろうし。
0066nobodyさん
2010/04/20(火) 19:21:47ID:???0067nobodyさん
2010/04/20(火) 20:43:50ID:???0068nobodyさん
2010/04/21(水) 11:02:30ID:???スルー出来ない奴も荒らし
■ このスレッドは過去ログ倉庫に格納されています