トップページphp
1001コメント342KB

【PHP】 Smarty 隔離スレ 【テンプレート】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/02/02(土) 00:21:09ID:6cKcKeTp
まぬあるhttp://www.smarty.net/manual/ja/
0951nobodyさん2010/03/27(土) 22:16:56ID:???
まだそんな事言ってる奴いたのかww

PHP自体がテンプレートww
下手したらMVC分けすれしてねーんじゃね?w
0952nobodyさん2010/03/27(土) 22:33:37ID:uuG3/ncY
>>950先生はPHP自体がテンプレートであるとおっしゃってますあげ
0953nobodyさん2010/03/27(土) 22:43:47ID:???
PHPは間違いなくテンプレートエンジンそのものなのだがw
Smarty信者はPHPを知らない半可通が多いから面白いね。

あと、Smarty信者はMVC理解してないだろw
そもそもSmartyってぜんぜんMVCじゃないじゃん。
反論あるならSmartyにおけるMVCというものを解説してみwwww
0954nobodyさん2010/03/27(土) 22:47:39ID:???
まぁ、価値が判らない人には不要だね
テンプレート編集権限も与えたくないが
0955nobodyさん2010/03/27(土) 22:50:44ID:???
SmartyはVだけだよー
MとかCは別途用意してください
0956nobodyさん2010/03/27(土) 22:50:54ID:???
おやおや、こわいこわい。Smartyスレでガキが暴れとるね
0957nobodyさん2010/03/27(土) 23:01:27ID:???
Smarty信者の恥ずかしい主張
・PHPはテンプレートエンジンではない
・PHPではMVCできないが、SmartyではMVCできる
・SmartyはVしか出来ないので、MとCは別途用意する
・変なコピペでPHPユーザーを馬鹿にして悦に浸るガキの集団である

SmartyがPHPで書かれてるって知ってた?w
0958nobodyさん2010/03/27(土) 23:15:56ID:???
なんだ、釣り人か
0959nobodyさん2010/03/28(日) 00:12:24ID:???
PerlとかRubyみたいなテンプレート機能がないような言語が
テンプレートエンジンを使うのは分かる。
が、PHPはそれ自身がテンプレートの機能を持っているので、
Smartyがとっても阿呆に思える。

CakePHPやsymfonyなどのフレームワークのビュー層は
テンプレートエンジンを使わずに
生PHPを使うような前提になっている。
(当たり前のことだよね)

ただ、PHPのテンプレートとしての機能は
非常に貧弱なのでSmartyのようなアホライブラリが出てきてしまったのも
しょうがないとは思うがな。

PHPにもJavaの標準ビュー層であるJSPのように
もうちょっとマシな機能が揃っていれば良かったのにね。
09609592010/03/28(日) 00:23:05ID:???
ちなみにこういうアホ共は→>>949>>954
そこら辺のことがまったく分かっていないので
今後まともな技術者になることは有り得ないと思うね。

ビュー層の話なんか本当に底辺の話なので
本当は雑魚共と議論なんかしたくもないんだw

関係無いけどこいつらDIとかORMとかのロジック層、DAO層とかの
アプリケーションの本質的な部分の技術をちゃんと理解してるんだろうか?
ムリカナァw
0961nobodyさん2010/03/28(日) 00:27:47ID:???
>>959-960
アホはこのスレで暴れてるお前
0962nobodyさん2010/03/28(日) 00:54:30ID:???
>>961
情けないなぁ。反論しろよ。まるで俺がいじめてるみたいじゃないか。
どうしようもないね。
何故自分がSmartyを使ってるのかも理解してないのか?
ただ「これいいらしいよ」って人に言われて使ってるだけなんだろうな。
だから反論しようにも出来ない。信念とかポリシーとか無いから。
スレタイに「隔離」って付いてる意味が分かったよ。
0963nobodyさん2010/03/28(日) 01:13:19ID:???
>>962
煽っている最中すんません。
自分はホント初心者なんですけど、
ソースが見やすくなる、っていう理由だけで使うのはダメですか?
0964nobodyさん2010/03/28(日) 01:23:29ID:???
>>949 >>952 >>954 >>955みたいな煽りとかアホは、
迷惑だからこのスレに書き込まないでほしい
0965nobodyさん2010/03/28(日) 01:50:45ID:???
急に活気が出てきたな
まだまだ廃れてなかったってことか
0966nobodyさん2010/03/28(日) 04:29:49ID:???
>>963
複数の人間で作るプロダクトだと大抵デザインとプログラムが分かれる
デザイナーに直接書いてもらえる可能性が高い

データ生成とHTML生成で分離するから問題が起きたときに切り分けしやすい

エスケープ処理などを一括で行えるから楽

何より言う様に構造が把握しやすい=ソースが見やすい
0967nobodyさん2010/03/28(日) 06:00:49ID:???
どーでもいいから、Smartyサイトの説明読んでから出直してこいや。
http://www.smarty.net/manual/ja/what.is.smarty.php

PHPがテンプレートエンジンとして使えるからSmarty糞とか言ってる低脳共よ…
美しくロジックを切り分けるためのライブラリでしかない事に気がつけや。

0968nobodyさん2010/03/28(日) 10:08:58ID:???
>>960
なんだオメー
あげられてさらし者にされたのが悔しかったと言え
0969nobodyさん2010/03/28(日) 10:40:14ID:???
>>967
お前みたいな奴がいちいちほざくからスレが荒れる。
消えろ。二度と書き込むな。
0970nobodyさん2010/03/28(日) 17:03:36ID:???
>>963
ソースが多少きれいになるとかいう妄想にとりつかれて
それ自身がテンプレートエンジンであるPHPから
わざわざテンプレートエンジンを使って表示するとか
これほど滑稽なことはない。

>>966
>複数の人間で作るプロダクトだと大抵デザインとプログラムが分かれる
>デザイナーに直接書いてもらえる可能性が高い
>データ生成とHTML生成で分離するから問題が起きたときに切り分けしやすい

妄想も大概にしとけや。
君、本当にWeb制作の仕事したことあるの?
俺は今まで色々な現場で色々な言語でWebの仕事をしてきたが、
デザイナーが直接ビュー層をいじることなんてありえない。
デザイナーが作ったHTMLをビューに変換するのはプログラマーの仕事。

>エスケープ処理などを一括で行えるから楽

なんのエスケープ処理か知らんが、
フレームワーク使ってればFilterとか色々とあるんだから
それでやればいいじゃん。

>何より言う様に構造が把握しやすい=ソースが見やすい

Smartyのコードが入ったHTMLが見やすい?
妄想にとりつかれてんな。
頭冷やしてもう一度よーく見てみろ。
生PHPで書かれたHTMLと比べてそんなに変わるか?
09719702010/03/28(日) 17:09:48ID:???
あと、一言。

PHPのテンプレートとしての機能は非常に貧弱なので
Smartyのようなテンプレートエンジンが出現しちゃうのも
しょうが無いとは思ってる。

こればっかりは言ってもしょうが無いんだけど、
PHPにJSP2.0相当の機能があれば
こんなことは起こらなかった。
Smarty使ってるお前らも是非JSP2.0について
少しは知ってみてくれ。

0972nobodyさん2010/03/28(日) 17:11:20ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0973nobodyさん2010/03/28(日) 17:18:54ID:???
>>970
>生PHPで書かれたHTMLと比べてそんなに変わるか?
ぜんぜん違うね
Smartyみたいにロジックとビューが分離できてないコードがいかに多いことか

一定のルールを作って自由な書き方をさせないところに意味があるんだよ
それぞれの開発が決めたオナニーなルールで仕様書やソース追うより、
Smarty使ってるって書いてあるだけでだいたいのルールの想像がつく

webアプリの仕事をいろいろやってきてこんなことも気づかないなんて
アホすぎる
0974nobodyさん2010/03/28(日) 17:22:48ID:???
>Smartyみたいにロジックとビューが分離できてないコードがいかに多いことか
言いたいことが逆になった

Smartyみたいにロジックとビューが分離できてるコードがいかに少ないことか
0975nobodyさん2010/03/28(日) 19:18:58ID:???
>>973
>Smartyみたいにロジックとビューが分離できてるコードがいかに少ないことか

お前はSmartyを使えばビューにロジックを混入させないことができるのか?
すげーな。分岐の処理もループの処理も記述せずにビューを書き上げることができるのか?
妄想ぬかすなカスが。

>一定のルールを作って自由な書き方をさせないところに意味があるんだよ
>それぞれの開発が決めたオナニーなルールで仕様書やソース追うより、
>Smarty使ってるって書いてあるだけでだいたいのルールの想像がつく

Smartyが決めたオナニールールにしたがってると
Smartyの仕様を知らない人はソースが読めないよねぇ。

そんなことも気づかないなんてアホ過ぎるw
0976nobodyさん2010/03/28(日) 19:25:20ID:???
>>975
まともな反論ができなくて壊れたなw
これがこいつの限界
0977nobodyさん2010/03/28(日) 19:34:29ID:???
>>975

>お前はSmartyを使えばビューにロジックを混入させないことができるのか?
デザインを構成するためのループや分岐処理とロジックを混同してないかな?

>Smartyが決めたオナニールールにしたがってると
>Smartyの仕様を知らない人はソースが読めないよねぇ。
その為の分離ですよ〜
0978nobodyさん2010/03/28(日) 19:40:52ID:???
>お前はSmartyを使えばビューにロジックを混入させないことができるのか?
>すげーな。分岐の処理もループの処理も記述せずにビューを書き上げることができるのか?

これはないわ
0979nobodyさん2010/03/28(日) 21:00:02ID:???
>>976
壊れてるのはお前のオ・ツ・ム

>>977
>デザインを構成するためのループや分岐処理とロジックを混同してないかな?

混同してねーよ。
生PHPでデザインとロジックの分離が出来ないとか訳の分からん言ってるから
そっちが混同してると思ったんだよ。

>その為の分離ですよ〜
意味不明
0980nobodyさん2010/03/28(日) 22:14:41ID:NiX4hAxZ
フレームワークもテンプレートエンジンもろくに使いこなせないのかWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

負け犬の遠吠えさらし上げ!
0981nobodyさん2010/03/28(日) 23:02:03ID:???
>>980
フレームワークは使いこなしてるけどな。
逆にSmarty使ってますなんて言ってると
あぁレベル低い人なんだなって思われるぞ?

あと何をさらし上げてんのか知らんけど文章から
幼稚さ加減がただよってんな。
0982nobodyさん2010/03/28(日) 23:06:36ID:???
どんな風にフレームワーク使いこなしてんの?
0983nobodyさん2010/03/28(日) 23:32:42ID:???
>>979
>生PHPでデザインとロジックの分離が出来ないとか訳の分からん言ってるから
>そっちが混同してると思ったんだよ。
うわ、そんな馬鹿が居るんだ!
時間の無駄なのでそんなアホに付き合うのは止めた方が良いかと

>意味不明
ごめん、はしょりすぎました。
逆に、Smartyの仕様を知ってればテンプレートが書けるんですよ。
PHP仕様を知るよりSmartyを理解する方がはるかに楽です。
ぶっちゃけ「こう書けばこの値が表示されるから入れといて」で済みます。
プログラム判らない人にSQLサーバーからどうこうして、HTTP通信してあーだこーだとか、説明してられないです。

何度も書かれてますが、Smartyの利点は「影響範囲が限定される」に尽きると思います。
だから、良く判らない人に作業を振れる
だから、一年後の自分が見てもすぐに把握できる
0984nobodyさん2010/03/28(日) 23:40:33ID:NiX4hAxZ
>>981
コテハンつけろ市ね
0985nobodyさん2010/03/28(日) 23:52:53ID:???
俺は970じゃないけど、
Smartyってテンプレートフレームワークとしてはすべてが中途半端なんだよね。
記法も制約も機能もパフォーマンスもMVCも全部中途半端。

デザイナーに適切な権限と制約を与えるには多くのカスタマイズをしなくちゃいけないし、
それをすると「Smartyを使ってる人同士ならソースが読める」ということも無くなる。
命令の書式ひとつ取ってもポリシーが無い。あるとしたらパイプくらいか?
でも、パイプにも統一感が無いし、テンプレートエンジンでパイプってどうなのよ?

PHPでifもforeachも書けるし、short_open_tagという優れた記法もあった。
何よりPHPの知識があれば学習コストが少ないし、関数も素直に呼び出せる。
JSPもASPも同じだよね。標準的な言語環境をすべて敵にまわして、
「デザインとロジックの分離が出来るのはSmartyだけ!!」と主張してるのだとしたら、恐れ入るわ。
0986nobodyさん2010/03/28(日) 23:57:34ID:???
だれもそんなことゆーてへんと思うが
09879852010/03/29(月) 00:06:20ID:???
俺はSmartyを5年くらい前に使っていたことがある。
パフォーマンスが要求されずデザイナが学習済みなら使えるケースもあるのだろうね。
でも大抵のデザイナが完璧なtplをよこしてこなかったので結局プログラマが修正していた。

そのうちフレームワーク全盛期になったら、もっと高度なキャッシュとヘルパーが手に入った。
Smarty pluginをしこしこ作らなくても、よく使う機能はすべて揃うようになった。
もちろんMVCフレームワークだから「デザインとロジックの分離」なんてお題目は当然クリアしている。

Smartyのノウハウは、今の時代に引き継げるものは何一つ無い。
文法的な利便性と美しさはJavaのTaglibsの方が上だしね。
新卒の子にSmarty教えるくらいならEL式とTaglibsを教えたらいいじゃないかと思う。
さもなくば、PHPそのものの初歩を教えたほうが、ずっと本人のためになる。

今でもちょくちょくSmartyが使われているシステムを見かける。大抵はメンテ不能の糞システムだ。
冗談なのか無知なのか知らないけど、Smartyユーザーがフレームワークユーザーを見下しているのを見ると、
こういう奴らがコピペだらけの糞システムを作ってるのかと嫌気も差す。

このスレで「古い知識にしがみついてないで、新しいことを勉強したら?」という旨の書き込みを、
「Smartyってどうよ」みたいな話題になった際に何度か挙げたんだけど、このスレの人たちには残念ながら、
アプリケーションフレームワークとテンプレートフレームワークの違いがまったく理解できないんだよな。
そして、「SmartyでMVCが出来る」とか、わけのわからないことを言っちゃう。

もっとPHPでも真面目にテンプレートフレームワークの進化に取り組む人が増えればいいのにね。

> ぶっちゃけ「こう書けばこの値が表示されるから入れといて」で済みます。

こいつは問題の本質を理解してない。生PHPだって出来るじゃん、そんなこと。
意味を理解せずにコピペを要求しているのだとしたらお前のレベル自体が低いだけだよ。
0988nobodyさん2010/03/29(月) 00:18:17ID:???
そんだけテンプレートのこと理解してて
「生PHPだって出来るじゃん」はないわ
生PHP触らせたくないのがまず一番の理由だから
不便なの承知で一枚噛ませてるんじゃねえの?
09899852010/03/29(月) 00:23:06ID:???
>>988
> 生PHP触らせたくないのがまず一番の理由だから

本当に?
何のために?
そんなことをする意味ってあるの?

他のSmartyユーザも「生PHP触らせないためにSmartyを使わせている」の?
0990nobodyさん2010/03/29(月) 00:33:45ID:???
そりゃそうだろ
そんなこともわからずに今まで何の話してたんだ
09919852010/03/29(月) 01:08:57ID:???
>>990
テンプレートフレームワークの根幹を否定するような発言に見えるがw

やりたいことって「生PHPを触らせたくない相手」が「HTMLだけ触ってればいい」んだよね。
あまつさえ「プログラムを埋め込みたい部分」は「コピペさせる」んだよね。
それってstr_replaceで済む話だよね・・・。

全くポリシーも判断力も無い人相手に改善を求めても、そりゃ無駄だわな。
よくこんなレベルでMVCなんて単語が出てきたな。そっちのほうが驚きだわ。
0992nobodyさん2010/03/29(月) 01:26:24ID:???
フレームワークってsymfonyの事?
重くて使ってられないよ
0993nobodyさん2010/03/29(月) 02:07:12ID:???
相手が言ってもないことを捏造してまで叩きたい気持ちはわからんなぁ。
>>991のことだけど。
0994nobodyさん2010/03/29(月) 02:14:40ID:???
>>982
なにその抽象的な質問?
Smartyとか使ってるからアホになるんだよ。

>>983
>>988
デザイナーにテンプレートを書かせんなよ。
上でも書いたけどビュー層を書くのはプログラマーの仕事だ。
デザイナーはテンプレートの元となるHTMLを書くのが仕事なの。
お前ら本当はWebのシステム開発したことねーだろ?

>>992
俺は>>985じゃないけど、symfonyを使うのは中規模開発以上の場合だ。
重さと開発効率のトレードオフをクリア出来る場合に使えばいい。
君みたいな小さな仕事しかしないような人には無縁。
0995nobodyさん2010/03/29(月) 02:23:57ID:???
何だかデザイナーにテンプレート書かせちゃってる馬鹿がいるみたいだから
言っておくが、普通デザイナーはテンプレートは書きません。
デザイナーが書くのはテンプレートの元になるHTMLまで。

テンプレートを書くのはプログラマーなんだから
わざわざSmartyなんか使わなくても生PHPで書けるだろ?

デザイナーがテンプレートを書くことを前提で話してる奴がいるから
話がおかしくなる。分かった?
0996nobodyさん2010/03/29(月) 02:40:32ID:???
そういうことにしたい、しておかないと自己の存在意義にかかわる
という切実な思いだけは伝わってきます
0997nobodyさん2010/03/29(月) 02:42:02ID:9oVnqM8g
Symfonyのテンプレート
http://www.symfony-project.org/jobeet/1_4/Doctrine/ja/06
Smartyのテンプレート
http://www.phppro.jp/school/smarty/vol5/4

どっちが見やすいかって聞いたら100人中99人が後者って言うと思うがな
しょせん道具なんだから好きなものを使えばいいし

あとJSPとかELとかtaglibとかそれ自体がテンプレートエンジンみたいなものだろ
馬鹿みたいに全く別の文法をどんどん追加するのやめてほしいわ
0998nobodyさん2010/03/29(月) 03:35:36ID:???
Smartyのコードが見やすい云々で無く、デザイナ部にロジックが混入するのを防ぐ意味が大きいかな。
ちょっとPHPかじったデザイナがウンコみたいなPHPコードをテンプレートに書いてきたらどうするの?
安全だっていう保証出来ないでしょう。




俺はSmarty始めてから背も伸びたし、彼女も出来た。
心にゆとりが産まれたおかげか、部活と勉強の両立も出来た。
今度産まれてくる新しい家族にもSmartyを習得させようと思っているよ。
0999nobodyさん2010/03/29(月) 03:38:41ID:???
Smartyを始めたおかげで999もゲットしちまったよ(笑)
>>1000を他人に譲るゆとりも出来たみたいだ。
>>1000おめでとう。君もがんばってSmartyを学んでくれよな。
1000nobodyさん2010/03/29(月) 03:45:03ID:???
初心者だけどがむばります!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。