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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/03/29(月) 14:41:04ID:???
Smarty は PHP のためのテンプレートエンジンです。
具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。
0116nobodyさん2010/04/24(土) 01:16:27ID:???
俺はこの騒動でブロック関数の有効な使い方学べたからありがたかったよw
>112は煽りを煽ってる場合じゃないと思う
capture使ってどう実装するか理解できたかい?wって、capture使うのはどう考えても遠周りなのになんで誇ってるのw
0117nobodyさん2010/04/24(土) 02:35:14ID:???
>>115
ごめん、俺フィルタで考えてたw
outputfilterで<a href="">を一括置換すればいいかなとか思っていた

質問主はprefilter内で<a href="">を検索して{urlchange}というブロックタグに置換してるって事でOK?
0118nobodyさん2010/04/24(土) 04:22:59ID:1DRUZqeq
あのね、
Smartyを使うということは
PHP自体を否定してるのと同義なのね。
そこら辺分かっててつかってるのかなぁ〜
この雑魚共はぁああああああああああああああ!!!!!!!!!
0119nobodyさん2010/04/24(土) 08:57:02ID:???
>>117
outputfilterはコスト高いから、なるべくキャッシュに残る前の処理であるprefilterとかで済ませたほうがいい
嫌ないい方かもしれないけど、処理コストを考えてない人がテンプレートを再帰処理とかそういう妙な発想になるんだと思うな

良くも悪くも便利なせいで、内部的な動きを知らないで激重にしている人も多いのかも
ブロック関数すら、展開された後の書式を見ればかなりすごいことやってるし
ob_start系のバリバリ使ってるんだけど、あれってコスト軽いと考えていいのかなぁ?
0120nobodyさん2010/04/24(土) 10:12:15ID:???
このスレの住民は相手を問わず喧嘩するのが大好きなんだなw
0121nobodyさん2010/04/24(土) 11:39:32ID:???
かなり進んでいるので来てみたら・・・子供のケンカかよ。
自分の主張も良いけど、相手の主張も飲めよ。
じゃないと、論理的思考なんて無理だろ。PGに向いてない。
0122892010/04/24(土) 11:43:31ID:???
ここまで俺のお婆ちゃんに同意なし。
0123nobodyさん2010/04/24(土) 13:12:55ID:???
2つのキャッシュ機能って、どれとどれ指してるの?
0124nobodyさん2010/04/24(土) 17:32:58ID:???
>>122
joinの嵐サイトってなに?
0125nobodyさん2010/04/24(土) 22:24:17ID:???
Smarty=カスの使うカスライブラリってことでFA?
0126nobodyさん2010/04/24(土) 23:05:38ID:???
そのカスライブラリのスレで煽ってるお前もカスでFA?
0127nobodyさん2010/04/25(日) 03:19:15ID:???
>>126
まぁそんなに自分を卑下するなよ。
カスなりに頑張れ。応援してるよ。
0128nobodyさん2010/04/25(日) 08:54:03ID:???
Smartyを単体で使ってもそりゃカスだよ
直接PHP埋め込んだほうが手っ取り早い

Smartyが威力を発揮するのは、他の解析エンジンと組み合わせた時。
それこそ>>69みたいな使い方した時だよ
PHPで書くと自由度が高すぎて、解析がうまくいかなくなるからね
0129nobodyさん2010/04/25(日) 18:20:47ID:???
てか、デザインとプログラムを分離するためなんじゃねーの?
0130nobodyさん2010/04/25(日) 20:49:46ID:???
>>119
出力結果の文字列置換を行う場合、
outputfilterならpreg_replace一度の実行で済むと思うけどそんなにコスト違う?
書いてるようにブロックタグ自体、展開後の書式が無駄に重い気がするが・・・

ブロックタグで処理する場合、置換箇所が増えれば増えるほどオーバーヘッドでかくならね?
それともテンプレート全体をブロックタグで囲って疑似フィルタ的に扱うのかな?
0131nobodyさん2010/04/25(日) 21:06:26ID:???
[Smarty信者の主張]

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

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

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

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

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

こういう反論はどうかな?
0134nobodyさん2010/04/25(日) 23:48:17ID:???
>>133
俺Smarty擁護派だけど、その理由だと <script language="php"></script> タグを使えばよくね?
0135nobodyさん2010/04/26(月) 09:59:01ID:???
>>130
preg_replace でも str_replaceでもなんでもいいが、正規表現を使った全文チェックが軽いと思えるのが凄い
0136nobodyさん2010/04/26(月) 17:55:31ID:???
>>135
あれ・・・上の例だと、prefilterで全文検索して、部分的にブロックタグに置換してるんだよね?
だったら出力時に一括の方が早いんじゃないかなと思っただけだよ。
0137nobodyさん2010/04/26(月) 18:10:22ID:???
prefilterは、キャッシュに残す前にやるから多少重くても問題ない
出力時は毎回アクセスでコスト発生するだろ
0138nobodyさん2010/04/26(月) 18:23:02ID:???
でも、ブロックタグの中身自体が文字列置換処理だよね?
ブロックタグが10個あれば内部的に10回置換処理が走ると思うけど、全文検索1回と比べてそんなに軽いもんなの?
0139nobodyさん2010/04/26(月) 18:49:50ID:???
置換処理の意味わかってるのか?

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

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

また、一部のAタグだけ適用という方法を誤爆無くやるためには、色々細かい処理が必要。
prefilterならじっくり検証しても構わないが、outputfilterではじっくりやると毎アクセスでのレスポンスに響く。
0140nobodyさん2010/04/26(月) 19:29:47ID:???
>> ob_stsrt(); 処理 $_tmp = ob_contents(); ob_clean();
「処理」の部分で、引数に対して置換処理を行っているんじゃないの?
該当タグが増えただけ、上記処理を繰り返してしまうので結構なコストがかかる気がする。

またprefilterだとSmartyで動的に生成されるリンク(pagerとか)に対応できなくない?
ブロック関数内で正規表現かまして該当箇所を置換するとかになりそうな気がするけど・・・
0141nobodyさん2010/04/26(月) 20:18:38ID:???
Smartyの関数出力を「置換」と表現したら、Smartyで行うあらゆることが「置換」になって「置換」という言葉が意味をなさなくなるだろ…
言葉遊びしたいのか、ちゃんとした質問なのかはっきりしてくれ

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

>またprefilterだとSmartyで動的に生成されるリンク(pagerとか)に対応できなくない?
後付け条件出しすれば何にだって文句つけられるわ。あほくさい
0142nobodyさん2010/04/26(月) 20:35:45ID:???
質問です
バージョンは2.6.25です。

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

・tempnamで作ったテンポラリ名のファイルに解釈内容を出力
・キャッシュ名のファイルを削除
・テンポラリ名のファイルを、キャッシュ名にリネーム
とやっているようですが、キャッシュ名を削除した瞬間と、他プロセスでキャッシュを読んでいる瞬間が重なった場合に問題を引き起こすような気がするのですが…
0143nobodyさん2010/04/26(月) 21:35:44ID:???
気にするな
0144nobodyさん2010/04/26(月) 22:03:00ID:???
>>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タグを書き換えたいって内容的に十分想定しうる事だと思うが・・・。
0145nobodyさん2010/04/26(月) 22:22:31ID:???
>>142
まともなOSならオープンしたファイルのi-nodeは閉じるまで変わらないよ
0146nobodyさん2010/04/27(火) 08:59:50ID:???
>>144
その後付けにも対応したくなれば、また質問しにくる。その時また考えればいい
ob_startを含めたオーバーヘッドってのがわからん。
アウトプットストリーム。
もっといえば単に文字列バッファをスタックに積むことがそんな重い処理だとはどうしても思えないな
0147nobodyさん2010/04/27(火) 16:05:31ID:???
>>146
>ob_startを含めたオーバーヘッドってのがわからん。
実際の処理では、ob_startのみじゃなくてブロック関数も実行されるでしょう?

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

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

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


>もっといえば単に文字列バッファをスタックに積むことがそんな重い処理だとはどうしても思えないな
バッファ文字列に対してブロックタグ関数が実行される事を忘れてませんか?
0148nobodyさん2010/04/27(火) 17:53:34ID:???
はぁ
まぁ処理の回数の予想とかして、負荷の少ないほう選択すりゃーいいんじゃねーのー?

なんかもう、ブロック関数の呼び出しオーバーヘッドがどうのーとかまで言われ始めると
そんなレベルのオーバーヘッド気にするならPHP使うのやめたらー?とか思っちゃうんですけどー
Smartyも関数呼び出してんこもりだしさー?
0149nobodyさん2010/04/27(火) 21:27:45ID:???
>>133
本当にあなたの会社ではデザイナーにテンプレートを触らせるの?
俺の感覚ではテンプレートはプログラムの一部なので
デザイナーには絶対触らせたくないんだけど。

ちなみに今まで俺が参画してきたプロジェクトでは
最初に紙芝居のHTMLが作成されて、
その後プログラマがHTMLをテンプレートに変換しつつ実装
という流れしか無かったんだけど。
それはJavaでもPHPでも共通で。
0150nobodyさん2010/04/27(火) 23:35:20ID:???
>>149
>その後プログラマがHTMLをテンプレートに変換しつつ実装
>という流れしか無かったんだけど。

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

CMSで構築しているサイトなら別だが、すべてそんな案件ばかりじゃないだろ。
0151nobodyさん2010/04/28(水) 00:54:25ID:???
>>150
大幅な変更ならテンプレートの元になったHTMLをデザイナーに修正依頼し
その後テンプレートに反映。小さな変更ならプログラマが修正。
WebプログラマならHTMLはもちろんCSSも分かるだろ?
0152nobodyさん2010/04/28(水) 01:41:56ID:???
>>148
ん?釣りかもしれんが負荷が云々言い出したのは >>119 だよ。

個人的にはフィルタ処理のが軽いと予測したんだが、
完全に否定されたのでどんな処理を想定したのか聞きたかっただけ。
ケースバイケースってのは把握している。
0153nobodyさん2010/04/28(水) 09:03:55ID:???
他人に説明する時に造語を使うな
フィルタ処理って、prefilterの処理もフィルタ処理だし、outputfilterの処理もフィルタ処理だ
0154nobodyさん2010/04/28(水) 11:11:16ID:???
>>144 >>147で詳細に説明してますが・・・
結局一つのレスのみを抽出して揚げ足取りしか出来ないんですね。
0155nobodyさん2010/04/28(水) 11:19:19ID:???
>>151
つまり、二重に手間がかかってるわけだな。
Smartyテンプレートをデザイナーが修正して
プログラマに渡せば良いだけなのに。
0156nobodyさん2010/04/28(水) 11:48:55ID:???
>>151
プログラマならそれがどれだけ非効率かわかるだろ?
文言やデザイン修正なんて誰でも出来るんだから、プログラマのリソースを割くのは勿体ない。
0157nobodyさん2010/04/28(水) 12:07:47ID:???
他のプログラマーに自分が使う関数を書かせるのと
デザイナーにテンプレートを書かせるのと
どのぐらい違うのだろう
0158nobodyさん2010/04/28(水) 12:51:01ID:???
>>157
全然違うし、言いたいこともわからない。
0159nobodyさん2010/04/28(水) 13:06:13ID:???
>>154
ちょっと待て。
揚げ足取りしたいとは思わないが、お前の発言が>>144や>>147の続きであるというのはお前にしかわからんことだ。
関連レスも全てひっくるめて話したいなら、ID出すとかしてくれよ
0160nobodyさん2010/04/28(水) 15:07:27ID:???
>>159
>>152で関連レスとして>>119を上げてる時点で、一連の流れに対するレスだと解ると思うが・・・すまん。
でも、お前スレの流れ自体読んでないだろw

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

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

基本的に「そのレス」の内容だけしか評価せんよ。
0162nobodyさん2010/04/28(水) 18:20:46ID:???
はぁ、そうですか。

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

やっぱりただの揚げ足取りじゃんw
0163nobodyさん2010/04/28(水) 18:36:09ID:???
どう読めばそうなるのか知らんが、まぁそう思いたいならそう思えばいいんじゃないか
とりあえず唐突な造語は使わんほうがいいよ
0164nobodyさん2010/04/28(水) 18:43:01ID:???
造語じゃなくて、outputもpreもpostも含めてフィルタ処理だろ・・・
お前職場でもそんな揚げ足取りばっかやってるん?
0165nobodyさん2010/04/28(水) 20:15:47ID:???
ひとつだけ言わせろ。つまらん事で結果するな。
あと、PGなら相手の主張も一旦受け止めて反論しろ。
0166nobodyさん2010/04/28(水) 20:16:40ID:???
結果 → 喧嘩
0167nobodyさん2010/04/29(木) 12:50:21ID:???
smartyスレってこういうのが宿命なんだな
0168nobodyさん2010/04/30(金) 08:52:54ID:???

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

↓

>>119
>output『filter』はコスト高いから、なるべくキャッシュに残る前の処理であるpre『filter』とかで済ませたほうがいい
0169nobodyさん2010/04/30(金) 12:28:49ID:???
人たたきをしてる方の論が間違ってるってのが、こういうスレでの常識。
0170nobodyさん2010/04/30(金) 17:32:00ID:???
>>168
あれ、都合悪い時だけ前後のレス読むんだ?w

119からの流れ読んでればブロック関数よりフィルタ(preにせよpostにせよ)で処理するほうが早いと思ったと伝わると思うんだが。
0171nobodyさん2010/04/30(金) 17:43:57ID:???
>>170
結局、自分の言い間違いを指摘されて逆切れしてただけかよ
勘弁してくれ
0172nobodyさん2010/04/30(金) 18:04:54ID:???
>>170
> フィルタ(preにせよpostにせよ)
釣りかよ。
質問主の要件満たせてねーじゃねーか。
0173nobodyさん2010/04/30(金) 18:27:56ID:???
で、結論としてフィルタとブロックのコストの違いは?
0174nobodyさん2010/04/30(金) 18:29:18ID:???
フィルタ(preにせよpostにせよ) と ブロック関数のコストの違いだったら、圧倒的にブロック関数の方が不利
ブロック関数は出力毎に作動するから

preとpostのフィルタは出力毎には動作しないからコストが無い
0175nobodyさん2010/04/30(金) 18:39:14ID:???
>>119 のやってるprefilterでブロック関数を生成と、outputfilterならどっちがコスト高い?

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

俺の認識ではブロック関数は、
ブロック内の出力にoutputfilterをかけるようなものなので、
さほどコストに違いなは無いと思うが。
0177nobodyさん2010/04/30(金) 18:51:08ID:???
実験してみた。

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

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

まあ正規表現は駄目だと思うね。ページ容量がこの程度で0.007秒も増加するし
全然細かいことができないから、urlchangeを呼んで色々やりたいという需要も満たせない
細かく事やり始めるとコストが膨大になるのも目に見えてる
0178nobodyさん2010/04/30(金) 19:03:16ID:???
むしろ、その程度なのに「駄目」だとするのはおかしくないか?
0179nobodyさん2010/04/30(金) 19:07:05ID:???
>>177
ブロック関数でereg処理すると 0.140
outputfilterでereg処理すると0.127
って事?

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

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

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

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

Aタグ解釈の完璧な実装は難しいよね。
JavaScript使っていいならjQuery経由でクライアント側書き換えとかもありかもしれんね。
0182nobodyさん2010/04/30(金) 21:34:32ID:???
prefilterならsimple_html_domとかで厳密解釈できるから良いぜ
0183nobodyさん2010/04/30(金) 23:05:17ID:???
それはprefilterに限らないんじゃないか?
というか正規表現より重くなる気がすw
0184nobodyさん2010/05/06(木) 15:16:22ID:???
重い重くないの話しているやつで、outputfilterで正規表現置換を主張している人間は
なぜ何度注意されても「outputfilterの結果はキャッシュされない」「prefilter, postfilterの結果はキャッシュされるから、多少重くても問題ない」
という事実を無視してまぜっかえすの?
馬鹿なの?煽りなの?
0185nobodyさん2010/05/06(木) 16:15:04ID:???
今更蒸し返すお前も相当アレだと思うが、

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

おわり。
0186nobodyさん2010/05/06(木) 17:04:58ID:???
テンプレートってよく使われてるものなの?
HTMLとPHPがごちゃごちゃになって読みにくくなる(書き方が下手なだけだけど)から
テンプレートはなんか便利そうだなって思うんだけど、
決定的な理由がないと何となく踏み出せないのれす・・
0187nobodyさん2010/05/06(木) 17:20:24ID:???
たぶん決定的な理由なんてないと思うよ
0188nobodyさん2010/05/06(木) 17:28:27ID:???
そうなの?
大規模なシステムを作る場合はみんな使ってる
みたいなことがあれば絶対覚えようと思うんだけど
0189nobodyさん2010/05/06(木) 17:45:13ID:???
>HTMLとPHPがごちゃごちゃになって読みにくくなる(書き方が下手なだけだけど)から
>テンプレートはなんか便利そうだなって思うんだけど、

多分テンプレートエンジンを導入した人の大半は同じ理由だと思う。
無くても大丈夫だけど、あれば便利な局面が結構あるよ。
0190nobodyさん2010/05/06(木) 17:47:21ID:???
楽天が使ってるとか使ってないとか
0191nobodyさん2010/05/06(木) 18:15:42ID:???
あまり例に出してほしくない名前だなw
0192nobodyさん2010/05/06(木) 19:14:19ID:???
よしっ、やってやるぅ!
0193nobodyさん2010/05/07(金) 14:51:18ID:???
>>189

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

あとテンプレートっていうのはSmarty使ってようが生PHPだろうが
プログラムの一部だと思うんだけど、それをデザイナーに触らせるのって
気持ち悪くないの?
0195nobodyさん2010/05/07(金) 19:21:04ID:???
>>194
例えばブログ系システムとかテンプレート自体が増える事もある。
ユーザ別にデザインを振り分けたくなる事もある。

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

個人的には生PHPタグが混入しているテンプレートの方が気持ち悪い。
0196nobodyさん2010/05/08(土) 00:24:33ID:???
>>195
ブログ系システムみたいな揚げ足取りの例は無視な。

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

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

>個人的には生PHPタグが混入しているテンプレートの方が気持ち悪い。
CakePHPとかsymfonyとか触ったことないんですね。
そんな低レベルな人はレスしないでほしいな☆
0197nobodyさん2010/05/08(土) 01:25:47ID:???
おっちゃん何で怒ってんの?
0198nobodyさん2010/05/08(土) 01:28:05ID:???
ブログ系ってのは解りやすく例えただけだよ。
ユーザが好きなテンプレートを使えるサイトは多々あるよね。
SNS系、グリーティングカード系、携帯系、etc
揚げ足取りじゃなくて、君が携わった事ないだけだよ。経験不足。
それじゃなくともSI系や代理店系の仕事になると、大抵外部の人間がテンプレートを弄る事になるよ。

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

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


>CakePHPとかsymfonyとか触ったことないんですね。
触った事無いじゃなくて、触った上で気持ち悪いんだがw
0199nobodyさん2010/05/08(土) 01:53:03ID:???
>>198
ブログ系のシステムでテンプレートが増えたところで
そんなに何千もの数になるのか?ならんだろ?
そしてHTMLからテンプレートに変換する作業にどれだけの
時間がかかるんだ?そんなにかからんだろ?
プログラマのリソース云々言う程のことか?

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

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

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

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

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

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

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

じゃあ、気持ち悪いからCakePHPもsymfonyも使わないんだ?
もしくはView改造して使ってるのかw
お前は一生Smarty使ってろwww
Smarty3の感想聞かせてくれやwww
0200nobodyさん2010/05/08(土) 01:55:53ID:???
なんかキモい人たちがいる・・・
0201nobodyさん2010/05/08(土) 02:15:15ID:???
>そんなに何千もの数になるのか?ならんだろ?
仕様で上限を決めてるならいいかもね。決まってないなら怠慢でしかないよ。
仮に30個程度だとしても恩恵は受けられるけどね。

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

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

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

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

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


1、2をPGが何度も行うより、3のみをデザイナが行う方が、人為的ミスは減ると思うよ。
0202nobodyさん2010/05/08(土) 03:05:14ID:???
買収されちゃったとかで行われる著作権表記の変更をPGがやるの?
気まぐれな客の要望を満たすためにコンテンツの名称変更をPGがやるの?
コントローラーとモデルを流用した新コーナーの製作作業をデザインの調整までPGがやるの?

一度公開したら変更は想定出来ない部分までDBに格納しろっての?
0203nobodyさん2010/05/08(土) 03:50:55ID:???
デザイナに触らせるのが不安なんじゃなくて、
仕事取られるのが不安なんだよね。

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

PGなんて登竜門でしかない。
SEになれとは言わないが、若手PGやデザイナを上手く使えないようでは未来は無いよ。
少なくとも上流PGが「俺がテンプレートも編集する」とか言ってたら下流PGはついてこないw
0204nobodyさん2010/05/08(土) 16:02:40ID:???
>>199がSEで、PGに対して「数百個程度のテンプレならPGがやれ」と命令してるんだろうな
0205nobodyさん2010/05/08(土) 16:05:28ID:???
おまぃら2週間近くもよく同じ話が続けられるな
0206nobodyさん2010/05/08(土) 23:29:02ID:???
>>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のみをデザイナが行う方が、人為的ミスは減ると思うよ。
このアホを誰かつまみ出せよ。
0207nobodyさん2010/05/08(土) 23:40:42ID:???
>>202
>買収されちゃったとかで行われる著作権表記の変更をPGがやるの?
>気まぐれな客の要望を満たすためにコンテンツの名称変更をPGがやるの?
著作権表記も名称変更も一括置換でできるだろ。
逆にデザインとまったく関係の無い業務をデザイナーにやらせるのは
非効率だし本質的ではないだろ?

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

>一度公開したら変更は想定出来ない部分までDBに格納しろっての?
何を訳の分からないことを・・・
0208nobodyさん2010/05/08(土) 23:47:47ID:???
>>203
>デザイナに触らせるのが不安なんじゃなくて、
>仕事取られるのが不安なんだよね。

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

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

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

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

設計も実装も出来てPGとして一人前だ。
僕は上流PGだから(何それw)テンプレートの編集はしないよ(キリッ
↑死ねw
0209nobodyさん2010/05/09(日) 00:51:05ID:???
長文野郎はキチガイと決まっている


箇条書きに>>を使うのやめれ
0210nobodyさん2010/05/09(日) 00:52:34ID:???
あー、箇条書きじゃなくて引用に>>を使ってるのか
アンカーになるから二重にするな
0211nobodyさん2010/05/09(日) 10:37:05ID:???
>>209-210
何を訳の分からないことを言ってんだこのキチガイはw
0212nobodyさん2010/05/09(日) 11:05:58ID:???
何らかの専ブラで>1が>>1にでも変換されるようになってるとかじゃね?
0213nobodyさん2010/05/09(日) 15:52:28ID:???
なんか、呼称の問題な気がして来たw
0214nobodyさん2010/05/09(日) 16:59:51ID:???
>>208
Smartyの序文でも読んでごらん。
http://www.smarty.net/manual/ja/preface.php

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


君がどんな現場を見てきたのかしらんが、Smarty使う使わないに限らず上記のような思想で動いているプロジェクトは多い。
プロジェクトが大きくなればなるほどその確率は高くなるよ。
今まで遭遇した事が無いのであれば、よほどブラックな界隈か、しょぼい案件か、経験不足のどれかだと思うよ。
0215nobodyさん2010/05/09(日) 17:02:43ID:???
>>一度公開したら変更は想定出来ない部分までDBに格納しろっての?
>何を訳の分からないことを・・・

テンプレートが弄れないなら、あらかじめ変数なりにしておいてCMSで弄れるようにしろって事でしょ。
その程度の読み取れないのかぁ、完全に経験不足だよお前w
■ このスレッドは過去ログ倉庫に格納されています