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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/03/29(月) 14:41:04ID:???
Smarty は PHP のためのテンプレートエンジンです。
具体的に言うと、php のプレゼンテーションからアプリケーションのロジックとコンテンツを分離して管理する事を容易にします。
これは、プログラマーとテンプレートデザイナーの役割が異なり、
これらの役割を違う人間が受け持っている場合に最適だと言えます。
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
0216nobodyさん2010/05/09(日) 17:14:06ID:???
言い合ってる2人のやり取りをまとめると、
結局、商用のWebアプリにSmartyはよく使われてるってことだよね?
0217nobodyさん2010/05/10(月) 00:55:58ID:???
広く使われているが為に、理解力の無い輩も沸いちゃうんだよね。

>このようにプロジェクトはプログラマー/デザイナーの間で あちこちに何度も行き来する可能性があります。
>プログラマーは 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'
0218nobodyさん2010/05/18(火) 05:24:06ID:???
つまらん言い合いは飽きた
有用なネタ頼む
0219nobodyさん2010/05/18(火) 11:24:20ID:???
CakePHPだとビューキャッシュ効かせても糞遅いんで、ビューにSmarty使ってSmartyのキャッシュで表示したい

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

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

>>219
生Cakeのキャッシュでどんな実装してるかわからんから比較できないよ。
Smarty単体で速度計測してみれ・・・
0221nobodyさん2010/05/19(水) 15:34:19ID:???
Smartyには、軽くて速くて使いやすい方向に行って欲しかったんだがな・・・
複雑なことならPHP直接書くしさ
0222nobodyさん2010/05/19(水) 16:57:12ID:???
smartyって中身的にはsqliteとも違う構造ですか?
0223nobodyさん2010/05/19(水) 17:38:46ID:???
意味がわからない、何故sqliteが出てくるの?
0224nobodyさん2010/05/19(水) 18:07:15ID:???
PHP生テンプレート対応で、
「PHP自体がテンプレートエンジンなんだからSmartyなんていらん(`Д´)」
と言われなくなるのかと思うと胸が熱くなるな。
0225nobodyさん2010/05/19(水) 18:28:35ID:???
ビューにコードが入るのがイヤだからSmarty使ってたんじゃないの?どんな気持ち?
こうなるから安心しろ
0226nobodyさん2010/05/20(木) 22:43:45ID:???
>>214
Smartyを作った会社なんだから
そのような考え方・やり方の会社なんだろ。
こんな極端な例を見せて何悦に浸ってんだお前?

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

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

>>215
お前って都合の悪いことは答えないで
揚げ足取りばかりなw
0227nobodyさん2010/05/20(木) 22:45:26ID:???
>>217
>広く使われているが為に、理解力の無い輩も沸いちゃうんだよね。

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

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

テンプレートを色んな人間が触るなんて糞みたいな設計思想だな。
だからお前ら馬鹿にされんだよ。
その糞みたいな設計思想を実現するために
デザイナーに汎用性の無い糞みたいなSmartyの記述を覚えさせ、
CVSやSVN等の使い方教えるのか。
デザインだけに専念したいだろうに可哀相。
0228nobodyさん2010/05/20(木) 22:48:12ID:???
CakeはRilsと同じくフルスタックを売りにしてるのに
勝手にSmartyみたいな屑ライブラリをくっつけるな。
フレームワークの思想が乱れる。
0229nobodyさん2010/05/20(木) 23:32:32ID:???
>>227

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

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

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

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

君のところはバージョン管理してないの?
それとも毎回手動でプログラマがコミット&マージを行ってるの?ww
0230nobodyさん2010/05/21(金) 00:13:07ID:???
>>226-228
どしたんだいぶ遅れて。ツンデレ?
0231nobodyさん2010/05/21(金) 01:40:19ID:???
言い返せなくて画面の前で真っ赤になってたんだろうよw プライドだけは高そうだからなw
1人ファビョっても誰も受け入れてくれないのにな。隣国の人なのかな。
0232nobodyさん2010/05/21(金) 08:10:31ID:???
言い合いウザい。
どっちも消えろ
0233nobodyさん2010/05/21(金) 10:20:08ID:???
> お前がどんな現場を見てきたのかしらんが、お前が主張するような思想で動いているプロジェクトは少ないんだよ。
[要出典]

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

> 今まで遭遇した事が有るのであれば、よほどブラックな界隈か、しょぼい案件か、経験不足のどれかだと思うよ。
[要出典]
0234nobodyさん2010/05/21(金) 19:44:58ID:???
>>227
>テンプレートを色んな人間が触るなんて糞みたいな設計思想だな。

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

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

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

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

バージョン管理なんて最早基礎スキルだろw
デザインに専念したい?
なら尚更、煩わしい連携作業を効率化する為にもバージョン管理やテンプレート弄る権利は必要だろ。
PGにテンプレ反映依頼しないと動作確認すら確認出来ない環境でデザインに専念?笑わせるなw
0235nobodyさん2010/05/21(金) 23:01:47ID:???
>>229
>ん?では何のためにこのスレ来てるの?
>君の周りでは誰も使っていない、自分も使う気が無いなら、全くもって時間の無駄だと思うがw
いや、PHPでテンプレートエンジンを使うような奇特人間の観察でもと思ってな。

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

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

>君のところはバージョン管理してないの?
>それとも毎回手動でプログラマがコミット&マージを行ってるの?ww
バージョン管理してるって文脈で分からん?アホなの?
デザイナーは外注だからHTMLを納品するだけでコミットなんかしねーよ。
ソースのコミット・マージってそんなに大変か?
お前はいちいち面倒くさがってるけど
そんなに程度が低いのか?
0236nobodyさん2010/05/21(金) 23:03:29ID:???
>>234
>複数人がビューを弄る事と、Smartyの思想は別の話だよ。
Smartyはそういう思想で作られたものだと
お前らが>>214主張してた訳だが。知能指数低めか?

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

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

>PGにテンプレ反映依頼しないと動作確認すら確認出来ない環境でデザインに専念?笑わせるなw
デザイナーにテンプレ反映依頼しないと動作確認すら出来ない環境で
プログラミングに専念?馬鹿かw
■ このスレッドは過去ログ倉庫に格納されています