トップページphp
981コメント365KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/03/29(月) 14:41:04ID:???
Smarty は PHP のためのテンプレートエンジンです。
具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。
0002nobodyさん2010/03/29(月) 15:09:40ID:???
公式サイト: http://www.smarty.net/
公式マニュアル: 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の話題も極力控えましょう。

もはやSmartyを使ってない識者の方は生暖かく見守ってください。
枯れた技術を仕方なく使うしかないユーザー同士、ひっそりと会話をしましょう。
0005nobodyさん2010/03/30(火) 09:45:49ID:???
なんで前スレ落ちた?
0006nobodyさん2010/03/30(火) 15:15:09ID:???
>>5
どっかの馬鹿が変な晒しをやって、それが元で炎上して1000まで埋まった。
なぜかスレタイから「隔離スレ」が消えたけど、>>4にある通りひっそりやったほうがいいと思う。
0007nobodyさん2010/03/30(火) 16:18:45ID:???
【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/
0008nobodyさん2010/04/07(水) 23:41:16ID:???
●以下の話題は過去スレで散々議論されています。不毛なので禁止な。

・PHP自体がテンプレートエンジンなんだからSmartyいらなくね?
 → ケースバイケースです。
   不要だと思うならこのスレを見ても有益な情報は得られないでしょう。
0009nobodyさん2010/04/08(木) 23:58:35ID:???
>>1
>Smarty は PHP のためのテンプレートエンジンです。
PHP自体がテンプレートなので不必要ですね。

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

>これは、プログラマーとテンプレートデザイナーの役割が異なり、
>これらの役割を違う人間が受け持っている場合に最適だと言えます。
デザイナーにSmartyというヘンテコで汎用性の無い言語を
わざわざ覚えさせるのですか?可哀想だからそんなことは止めましょう。
あと、テンプレートを書くのはプログラマの仕事です。
デザイナーはテンプレートの元となるHTMLを書くだけです。
プログラマはPHPを理解しているのでSmartyなんて入りませんね。
0010nobodyさん2010/04/09(金) 05:43:47ID:???
>>9
そんなに真っ赤な顔をして、学校で何か辛い事でもあったのかい?

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

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

そう!
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:???
Smartyは必要のない無駄ライブラリ。
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:???
PHP自体をテンプレートにすると、ビューすらPHP環境に依存してしまうからなぁ。
ショートタグが禁止になっただけで動かなくなっちゃうコードの多い事多い事…。
0019nobodyさん2010/04/10(土) 21:28:59ID:???
>>17
Smarty信者が必死だなw
Smarty2系は構文解析してーねーよ。正規表現で書き換えてるだけ。
オフィシャルにも書いてあるだろ。
PHPで一時期Smartyが流行ったのは知ってるがもう誰も使ってないよ。
CakePHPもsymfonyもSmartyどころかテンプレートエンジン使ってないから。
お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか
知ってるのか?
0020nobodyさん2010/04/10(土) 22:10:15ID:???
教えて教えて!
0021nobodyさん2010/04/10(土) 23:48:55ID:???
>>19
僕は君がこのスレにいる理由を知りたいな!
0022nobodyさん2010/04/11(日) 00:09:07ID:???
俺の使っているSmarty2では構文解析(パース)に正規表現を使っているけどなぁ
公式の序文にもそう書いてあるんだよなぁ…パースが重いからコンパイル済ファイルをキャッシュするって…うーん。

>>お前こそなんで最新のFWでテンプレートエンジンが使われなくなったか知ってるのか?
教えて教えて!
あとTwigとかいうテンプレートエンジンの開発元と、開発の経緯も知ってたら教えて!
0023nobodyさん2010/04/11(日) 01:07:03ID:???
ググレカスw
0024nobodyさん2010/04/11(日) 04:08:04ID:???
未だにSmartyとか使ってる奴いるんだなw
デザイナーにも優しいとか言ってw
デザイナーにテンプレート書かせるなよwww
0025nobodyさん2010/04/11(日) 11:01:07ID:???
俺は組んだデザイナーによってはsmarty使うことがある。
無くてもいけるが、あったらあったで全体の作業は楽になる。
キャッシュの操作は優秀。
それにsmarty否定派に>>24みたいのがいるなら、逆にこれからも使うかという気持ちになる。
0026nobodyさん2010/04/11(日) 11:58:50ID:???
デザイナーがHTMLを作成する
プログラマがSmartyテンプレートにする
デザインに修正が入ったらデザイナが修正する

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

素のPHPをテンプレートとして使う場合、継承とかキャッシュとかどうしてんだろうね…
否定派の言うことも一理あるが、Smartyのメリットを全く生かそうとしない姿勢が素人臭くて可愛らしい
0027nobodyさん2010/04/11(日) 12:05:39ID:???
>>26
そうなんだが、デザイナーがテンプレ修正するなら
デザイナー自身がSmartyに関する知識をある程度
持っている必要あるよな?

そして、Smartyの知識が分かると言うことは
少なからずPHPも理解する必要があり、そうなればデザイナーか何か分からん
0028nobodyさん2010/04/11(日) 12:22:44ID:???
>>27
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:???
>>31
>違うよ。全然違うよ。
デザイナーにテンプレート触らせる時点で
お前のやってる仕事の規模が伺えるな。

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

>お前が作ってるサイトがしょぼい事だけはわかった。
>今時のテンプレートは大抵継承機能を持ってるから、その意味を調べてから出直すといい。
テンプレートエンジンなんか今時使ってませんからw
その継承機能とやらを知ってるだけでそのはしゃぎっぷりw
テンプレートエンジンを使ってるという時点で
最新のFWを使ってないんだろうなというのがバレバレですよ?
お前が作ってるサイトがしょぼい事だけはわかったわw
0033nobodyさん2010/04/11(日) 23:55:27ID:???
最新のFW使ってないのバレバレ、キリッ。
かっこよすぎるw
是非その素晴らしい最新のFW構成を教えてもらいたいものだ

うちはCake、ZendFWと双方で使えるカスタムSmartyしか使ってないわ
あー、最新のFWつかいてーw
0034nobodyさん2010/04/12(月) 10:39:13ID:???
>>31
> ロジックの混入を防げないよね。致命的なコード書かれたらどうするの?

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

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

それを使わないでCakeとZFを使うのが最新のやり方だと思うよ・・・。
0035nobodyさん2010/04/12(月) 11:34:50ID:???
>>Smartyを与えても致命的なコードを書かれる可能性はあるわけですが・・・。
具体的にはどんな事を書かれてしまうんだい?
宣言のかかった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:???
>>35
マニュアルを読みましょうね。
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:???
>>37
プラグインはPGが作成して配備しないと使えないよ
PHPタグ?それこそフィルタでどうとでもなるが?

>>自分の事情を「一般的」と決めつけて、それ以外を理解できない時点で、
そのまま君に返すよw 
君の言う最新のFWのやり方ってやつのソースを出してくれ
君の中で「一般的」なだけかい?
Smartyスレまで来て否定してるんだ、さぞかし素晴らしい実績があるんだろ?
0039nobodyさん2010/04/12(月) 21:52:55ID:???
http://www.smarty.net/manual/ja/variable.security.php
0040nobodyさん2010/04/12(月) 21:56:15ID:???
http://www.smarty.net/manual/ja/variable.security.php
http://www.smarty.net/manual/ja/variable.security.settings.php

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

ふまえた上で、危険な実証コードも提出してくれると助かるな。
低レベルな俺にはわからん。
0041nobodyさん2010/04/12(月) 22:19:14ID:???
>>38
> プラグインはPGが作成して配備しないと使えないよ

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

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

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

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

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

>>37を読んでね。
■ このスレッドは過去ログ倉庫に格納されています